• 제목/요약/키워드: Secure Programming

검색결과 70건 처리시간 0.021초

C 시큐어 코딩 규칙 분류를 통한 실행 안전성을 보장하는 한글 언어 설계 (A Design of a Korean Programming Language Ensuring Run-Time Safety through Categorizing C Secure Coding Rules)

  • 김연어;송지원;우균
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.487-495
    • /
    • 2015
  • 요즘에는 대부분 정보가 전산화되어 다루어지고 있기 때문에 전산화된 정보의 안전성을 높이는 것이 매우 중요하다. 하지만 코딩 실수로 발생하는 많은 메소드 오용 때문에 소프트웨어 자체가 취약해짐에 따라 정보의 안전성이 위협받을 수 있다. 해킹 공격을 원천적으로 차단하여 정보의 안전성을 높이기 위해 시큐어 코딩 가이드가 제안된 바 있지만, C와 Java 프로그래머를 위주로 작성되었기 때문에 다른 프로그래밍 언어에서는 적용하기 어렵다. 이 논문에서는 다른 프로그래밍 언어에도 사용할 수 있도록 시큐어 코딩 가이드의 규칙을 재분류한다. 구체적으로 행정자치부에서 발표한 C 시큐어 코딩 가이드를 이용하였다. 그리고 이 분류에 따라 구별된 규칙을 새로 제안한 한글 프로그래밍 언어인 새싹에 적용해 보았다. 그 결과 새싹에서는 C 언어 대비 점검해야 할 취약점 규칙의 수가 52% 줄어든 것으로 나타났다.

Mini x86 어셈블리어에서 보안 정보 흐름 분석 (Secure Information Flow Analysis in Mini x86 Assembly Language)

  • 김제민;김기태;유원희
    • 디지털산업정보학회논문지
    • /
    • 제5권3호
    • /
    • pp.87-98
    • /
    • 2009
  • This paper discuss secure information flow analysis and its visualization. Information leak is defined as existence of information flow from variables which have user's private informations to variables that anyone can access. Secure information flow analysis has been made to decide of whether the information leak is or not. There are many researches for secure information flow analysis concerning high level programming languages. But actually, programs that user executes don't have program source code represented in high level programming language. Thus there is need for analysis of program represented in low level language. More to analysis, visualization of analysis is very important. So, this paper discuss visualization of secure information flow analysis. In this paper, Mini x86 Assembly Language which is subset of x86 assembly language is defined and secure information flow analysis of program is proposed. In addition, this paper defines transfer function that is used for analysis and shows how to visualize control flow graph.

Cooperative Decode-and-Forward Relaying for Secure Multicasting

  • Lee, Jong-Ho;Sohn, Illsoo;Song, Sungju;Kim, Yong-Hwa
    • ETRI Journal
    • /
    • 제38권5호
    • /
    • pp.934-940
    • /
    • 2016
  • In this paper, secure multicasting with the help of cooperative decode-and-forward relays is considered for the case in which a source securely sends a common message to multiple destinations in the presence of a single eavesdropper. We show that the secrecy rate maximization problem in the secure multicasting scenario under an overall power constraint can be solved using semidefinite programing with semidefinite relaxation and a bisection technique. Further, a suboptimal approach using zero-forcing beamforming and linear programming based power allocation is also proposed. Numerical results illustrate the secrecy rates achieved by the proposed schemes under secure multicasting scenarios.

관점지향 소프트웨어 개발 방법론과 디자인 패턴을 적용한 출입 보안 시스템 개발 (Development of Secure Entrance System using AOP and Design Pattern)

  • 김태호;천현재;이홍철
    • 한국산학기술학회논문지
    • /
    • 제11권3호
    • /
    • pp.943-950
    • /
    • 2010
  • 출입 보안 시스템은 감시, 로깅, 추적, 인증, 권한부여, 직원 위치 파악, 직원 출입관리, 출입문 관리 등 수많은 기능을 해야 하는 복잡한 시스템이다. 본 논문에서는 관점지향 소프트웨어 개발 방법론(Aspect Oriented Programming: AOP)과 디자인 패턴을 적용해 국내 원자력 발전소의 출입 보안 시스템을 구축하였다. AOP를 이용하면 시스템의 비즈니스 로직과 보안 로직을 완전히 독립적으로 분리해서 시스템 구축이 가능하므로, 출입 보안 시스템의 각 기능별 모듈에 대하여 명확하게 그 역할을 구분해 줄 수 있는 장점이 있다. 이는 잦은 외부환경의 변화에 의한 시스템 변경을 유연하게 대처할 수 있게 하며 AOP의 본래의 장점인 코드 재사용성의 확대, 효율적인 기능 구현 등 이 가능해 진다. 이와 함께 디자인 패턴을 활용하면 일반적인 소프트웨어 개발에서 나타나는 복잡한 문제를 구조화 하여 설계 할 수 있어, 시스템의 안전성 또한 보장 받을 수 있다. 두 방법론의 장점을 활용하여, 그 기능이 복잡한 출입보안 시스템을 안정적으로 설계 구현 할 수 있다.

SecureJMoblet : Jini2.0 기반의 안전한 이동에이전트 시스템 (SecureJMoblet : Secure Mobile Agent System based on Jini2.0)

  • 유양우;문남두;이명준
    • 정보처리학회논문지A
    • /
    • 제11A권6호
    • /
    • pp.439-450
    • /
    • 2004
  • 이동에이전트는 네트워크 상의 여러 노드들을 자발적으로 이동하는 동적인 개체이다. 자바의 Jini 프레임워크는 분산 네트워크 프로그래밍을 위한 주요한 기능을 제공함으로써, 이동에이전트 시스템의 개발을 용이하게 한다. 하지만, Jinil.0 서비스는 안전한 원격통신을 위한 보안성이 취약하여 이를 이용한 이동에이전트 시스템의 개발은 근본적인 제약점을 가지고 있다. 본 논문에서는 Jini1.0 기반의 안전한 이동에이전트 시스템인 SeureJMoblet에 대하여 기술한다. SecureJMoblet은 Jini2.0 위에서 이동에이전트 시스템의 기본 기능인 에이전트 생성, 전송, 제어 기능을 제공한다. 또한, 안전한 Javaspace 서비스를 제공하기 위하여 개발된 SecureJS를 이용하여 에이전트 객체를 안전하게 저장하기 위한 객체 저장소와 이동에이전트 간의 안전한 통신 기능을 지원한다.

버퍼 오버플로우 공격 방지를 위한 취약 함수 변환기 구현 (Implementation of a function translator converting vulnerable functions for preventing buffer overflow attacks)

  • 김익수;조용윤
    • 디지털산업정보학회논문지
    • /
    • 제6권1호
    • /
    • pp.105-114
    • /
    • 2010
  • C language is frequently used to develop application and system programs. However, programs using C language are vulnerable to buffer overflow attacks. To prevent buffer overflow, programmers have to check boundaries of buffer areas when they develop programs. But vulnerable programs frequently result from improper programming habits and mistakes of programmers. Existing researches for preventing buffer overflow attacks only inform programmers of warnings about vulnerabilities and not remove vulnerabilities in advance so that the programs still include vulnerabilities. In this paper, we propose a function translator which prevents creating programs including buffer overflow vulnerabilities. To prevent creating binary from source including vulnerabilities, the proposed translator searches vulnerable functions which cause buffer overflows, and converts them into secure functions. Accordingly, developing vulnerable programs by programmers which lack in knowledge on security can be prevented.

코딩 표준 검색 기법을 이용한 소프트웨어 보안 취약성 검출에 관한 연구 (A Study on Software Security Vulnerability Detection Using Coding Standard Searching Technique)

  • 장영수
    • 정보보호학회논문지
    • /
    • 제29권5호
    • /
    • pp.973-983
    • /
    • 2019
  • 정보 보안의 중요성은 응용 소프트웨어의 보안으로 인해 국가, 조직 및 개인 수준에서 점점 더 강조되고 있다. 임베디드 소프트웨어를 포함하는 높은 안전성 소프트웨어의 개발 기술은 항공 및 원자력 분야 등 에 국한되어 사용되었다. 하지만 이러한 소프트웨어 유형은 이제 응용 소프트웨어 보안을 향상시키는 데 사용된다. 특히 보안 코딩은 방어적 프로그래밍을 포괄하는 개념으로 소프트웨어 보안을 향상시킬 수 있다. 본 논문에서는 개선된 코딩 표준 검색 기법을 적용한 소프트웨어 보안 취약성 탐지 기술을 제안한다. 공개된 정적 분석 도구는 소프트웨어 보안 가능성을 분석하고 취약점을 유발하는 명령어를 분류하는 데 사용되었으며, 소프트웨어 취약점을 유발할 수 있는 API 및 버그 패턴을 쉽게 감지하여 향상시킬 수 있다.

Secure Outsourced Computation of Multiple Matrix Multiplication Based on Fully Homomorphic Encryption

  • Wang, Shufang;Huang, Hai
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제13권11호
    • /
    • pp.5616-5630
    • /
    • 2019
  • Fully homomorphic encryption allows a third-party to perform arbitrary computation over encrypted data and is especially suitable for secure outsourced computation. This paper investigates secure outsourced computation of multiple matrix multiplication based on fully homomorphic encryption. Our work significantly improves the latest Mishra et al.'s work. We improve Mishra et al.'s matrix encoding method by introducing a column-order matrix encoding method which requires smaller parameter. This enables us to develop a binary multiplication method for multiple matrix multiplication, which multiplies pairwise two adjacent matrices in the tree structure instead of Mishra et al.'s sequential matrix multiplication from left to right. The binary multiplication method results in a logarithmic-depth circuit, thus is much more efficient than the sequential matrix multiplication method with linear-depth circuit. Experimental results show that for the product of ten 32×32 (64×64) square matrices our method takes only several thousand seconds while Mishra et al.'s method will take about tens of thousands of years which is astonishingly impractical. In addition, we further generalize our result from square matrix to non-square matrix. Experimental results show that the binary multiplication method and the classical dynamic programming method have a similar performance for ten non-square matrices multiplication.

Integrating Software Security into Agile-Scrum Method

  • Ghani, Imran;Azham, Zulkarnain;Jeong, Seung Ryul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제8권2호
    • /
    • pp.646-663
    • /
    • 2014
  • Scrum is one of the most popular and efficient agile development methods. However, like other agile methods such as Extreme Programming (XP), Feature Driven Development (FDD), and the Dynamic Systems Development Method (DSDM), Scrum has been criticized because of lack of support to develop secure software. Thus, in 2011, we published research proposing the idea of a security backlog (SB). This paper represents the continuation of our previous research, with a focus on the evaluation in industry-based case study. Our findings highlight an improved agility in Scrum after the integration of SB. Furthermore, secure software can be developed quickly, even in situations involving requirement changes of software. Based on our experimental findings, we noticed that, when integrating SB, it is quite feasible to develop secure software using an agile Scrum model.

A Cooperative Jamming Based Joint Transceiver Design for Secure Communications in MIMO Interference Channels

  • Huang, Boyang;Kong, Zhengmin;Fang, Yanjun;Jin, Xin
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제13권4호
    • /
    • pp.1904-1921
    • /
    • 2019
  • In this paper, we investigate the problem of secure communications in multiple-input-multiple-output interference networks from the perspective of physical layer security. Specifically, the legitimate transmitter-receiver pairs are divided into different categories of active and inactive. To enhance the security performances of active pairs, inactive pairs serve as cooperative jammers and broadcast artificial noises to interfere with the eavesdropper. Besides, active pairs improve their own security by using joint transceivers. The encoding of active pairs and inactive pairs are designed by maximizing the difference of mean-squared errors between active pairs and the eavesdropper. In detail, the transmit precoder matrices of active pairs and inactive pairs are solved according to game theory and linear programming respectively. Experimental results show that the proposed algorithm has fast convergence speed, and the security performances in different scenarios are effectively improved.