개발자 / 보안 / 오픈소스

"버그가 없는" 완벽한 소프트웨어, 가능할까?

Patrick Budmar | Australian Reseller News 2014.07.11
세계는 해킹의 문을 여는 소프트웨어 버그와 취약점로부터 해방될 수 있을까.

테너블 네트워크 시큐리티(Tenable Network Security) 아태지역 수석 아키텍트 딕 뷔시에르는 "최근 소프트웨어 개발이 진화하고 있음에도 불구하고, 버그없는 소프트웨어라는 것은 몽상"이라고 표현했다.

뷔시에르는 "버그없는(bug-free) 소프트웨어는 실질적으로 불가능하며 완전히 완벽한 기술은 없다"고 말했다.

물론 잠재적인 취약점 코드 분석을 도와주는 자동 취약점 평가 툴을 통해 고품질 소프트웨어를 만들 수는 있다. 그러나 버그가 적은 좀더 나은 세상을 만드는 것이 가능하지만, 버그들은 항상 곁에 있다.

뷔시에르는 "이 문제는 코딩 에러에 의한 필연적인 실수뿐만 아니라 최초 고객 요구에 의해 기인한 것도 있다"고 말했다. 넘버오브닷넷(www.numberof.net)에 등재된 소프트웨어 개발자들은 전세계 1,700만, 미국에서만 416만 명으로, 점점더 많아지고 있다.

뷔시에르는 더 많은 프로그래머들이 좀더 나은 소프트웨어를 만들 수 있게 됐지만, 이 또한 악의적인 공격자에 의해 더 많이 악용되고 있다고 말했다.

뷔시에르는 최근 하트브리드 취약점을 예를 들면서 자체 오픈소스 루트가 어떻게 감지되지 않고 확산되는지를 설명했다.

뷔시에르는 "코드 하나하나는 상대적으로 작은 팀에 의해 만들어져 수백의 다른 제품 속에 들어간다"며, "취약점은 오픈소스 코드에서 찾아보면 발견할 수 있다"고 말했다.

비용과 시간을 든다는 이유로 오픈소스 소프트웨어 취약점 평가에 시간과 돈을 투자하지 않는다.

"사람들은 버그가 없는 거의 완벽한 소프트웨어를 만드는 일은 절대로 없을 것이다. 일부 소프트웨어의 경우 완벽을 추구하기 위해 폐쇄형이 되더라도 말이다."

소프트웨어 완전성을 추구한 좋은 예로 항공기의 항공전자공학시스템이 있다.
이 시스템 개발을 위해 지나치게 많은 돈이 들었을뿐 아니라 개발하는데 수년이라는 시간이 소요됐다.

비쉬에르는 "일반적인 소프트웨어는 상업적인 압박을 받기 때문에 소위 완전성에 도달할만한 테스팅 프로세스 시간이 그리 많지 않다. 그러나 제품은 공개되기 전에 이미 쓸모없어질 수도 있다"고 말했다.

"완전한 소프트웨어를 개발하기 위해서는 그만한 비용과 시간은 요구되기 때문에 상업적으로 불가능하다."

항공전자산업에서는 일반적인 테스팅 프로세스에서의 시간 압박을 받지 않기 때문에 여유를 가지고 가능한 한 최소한의 버그를 지닌 소프트웨어를 내놓는다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

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

Copyright © 2024 International Data Group. All rights reserved.