Offcanvas

개발자 / 애플리케이션 / 오픈소스

기존 프로그램 코드로 SW 결함 발견·수정… MIT 시연

2015.06.30 Joab Jackson  |  IDG News Service
MIT 연구원들이 작업 프로그램에서 복사한 코드를 사용해 결함을 수정하는 방법을 시연해 보였다


이미지 출처 : Massachusetts Institute of Technology

매사추세츠공과대학 연구원들은 다른 프로그램에서 실행 중인 코드를 삽입해 버그가 있는 소프트웨어를 수정하는 방법을 소개했다. 이는 오래된 차에서 부품을 떼어내 판매하는 것과 비슷하다고 할 수 있다.

코드페이지(CodePhage)라고 하는 시스템을 사용해 연구원들은 적게는 2개에서 많게는 4개에 이르는 기증 프로그램에서 각각 7개의 일반적인 오픈소스 프로그램의 결함을 수정할 수 있었다.

악의적인 해커들이 종종 시스템에 침입하기 위해 결함을 악용하곤 하는데 이 오류들을 수정하면 소프트웨어 코드를 좀더 안전하게 만들 수 있다. 코드페이지는 바운드 액세스(bound access), 정수 오버플로우(integer overflows), 0으로 나누기 오류(divide-by-zero errors) 등의 오류들을 일반적인 프로그래밍 오류를 인지해서 수정할 수 있다.

연구팀은 저널 Phys.Org의 월요일 판에서 자신들의 접근방법에 대해 설명했다. 또 연구원들은 컴퓨팅학회가 지난달 개최했던 프로그래밍 행사에서도 이에 대해 논의했다.

버그가 있는 프로그램을 수정하려면 코드페이지에 2개의 샘플을 입력해야 한다. 하나는 프로그램 충돌을 일으키는 것이고 다른 하나는 프로그램 충돌을 일으키지 않는 것이다.
 
이는 비슷한 기능을 가진 기증 프로그램으로 알려진 제 2의 프로그램을 통해 이러한 입력을 실행한다 기증 코드가 오픈소스여야 한다는 특별한 이유는 없지만 인터넷에는 기증받은 프로그램을 위한 부품을 제공할 수 있는 오픈소스 소프트웨어가 넘쳐 나도록 많다. 

코드페이지는 모든 실행을 기록하며 기증받은 프로그램은 충돌 없는 입력을 처리해 준다. 그런 다음 다시 실행을 기록하며 원래의 프로그램이 충돌하는 원인이 된 입력을 작동시킨다. 그 다음 코드페이지는 두 입력이 어떻게 다르게 처리됐는지를 분석해 원래의 프로그램을 해결하기 위해 이 정보를 사용하고 있다.

많은 경우 분석 중인 프로그램은 기증 프로그램에 존재하는 필요한 보안 검사가 부족한 것으로 나타났다. 일반 애플리케이션의 80%까지만 보안 검사를 수행하도록 코딩돼 있을 수 있다. 코드페이지는 프로세스에 자동으로 이 과정을 넣음으로써 개발자가 이러한 검사에 보내는 시간을 줄일 수 있다고 연구진들은 말했다.

취약한 소프트웨어를 복구하기 위한 새로운 방법을 찾는 곳으로 MIT만 있는 것은 아니다. 올해 초 보안업체인 콸리스(Qualys)는 알려진 취약점에 가상 패치를 적용할 수 있는 소프트웨어를 출시했다. ciokr@idg.co.kr
 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.