개발자들은 제품이나 서비스를 개발하는 과정에서 수많은 오류와 맞닥뜨리게 됩니다. 이런 오류들은 개발자들 스스로 해결하기도 하지만, 선배 개발자들이 선결해둔 소스코드를 참조해 처리하는 경우도 많습니다.
물론 기존 소스코드를 참조해 문제를 해결하는 경우도 많지만, 예상했던 것과 다른 결과가 나오기도 합니다. 여전히 오류를 뿜어낼 수도 있고, 개발자의 의도와 다르게 작동하기도 합니다.
어떤 소스코드의 경우 문제 해결을 위해 서버의 상태를 점검한다거나, 어떤 파일들이 서버 내에 존재하는지 등을 탐색하기도 합니다. 그런데 이런 행위는 발주처 보안내규에 위배되는 경우도 있습니다. 허락없이 서버를 탐색했다는 이유 때문입니다. 이런 경우 해당 행위를 법리적으로 명확히 따져 위법성이 없음을 증명해야 하며, 이로 인한 피해가 없다는 것도 입증해야 합니다.
법무법인 민후는 2016년 5월 교육부 산하기관의 인터넷 서비스 개발 프로젝트를 맡은 개발사를 대리해 '디버깅 목적의 JSP파일 실행이 보안위규 위반이 아니다'라는 점을 증명했습니다.
*사건 요약
A사는 발주기관(교육부 산하기관)의 인터넷 서비스 개발 프로젝트를 수행하고 있는 업체입니다. A사는 서비스 개발 도중 오휴 해결을 위해 작업하는 과정에서 JSP파일을 서버에 탑재하여 구동했는데, 해당 JSP파일은 서버 내 파일목록을 추려주는 기능을 갖추고 있었습니다. (물론 파일 업로드, 다운로드, 편집 기능이 존재하나, 이는 서버 보안정책에 영향을 받고 있어 실행이 불가능합니다.)
A사가 JSP파일을 서버에서 구동하자, 발주기관 모니터링 부서는 이를 '악성침해행위'로 탐지해냈습니다. 발주기관은 ① 이 사건 파일이 악성 프로그램일 수 있으며, ② 실행 목적과 경위에 부합하지 않을 수 있고, ③ 시스템에 미친 영향이 있다며 문제를 제기했습니다.
이후 A사는 본 법인에 ▲해당 행위가 발주기관의 보안위규에 위배되는지, ▲ 위배가 인정될 경우 제재수준에 대해 자문을 요청했습니다.
법무법인 민후는 국내에서 IT로 저명한 교수와 함께 A사의 행위가 보안위규에 위배되는지 여부를 논리적, 법리적으로 하나하나 따져보았습니다.
ⓐ 이 사건 JSP파일은 악성 프로그램인가?
- 이 사건 JSP파일은 웹서비스 개발에 용이하도록 제작된 오픈소스 프로그램으로 이미 많은 사람들에 의해 이미 확인되었으며, 악성행위 기능이 포함돼 있지 않다는 점을 밝혀냈습니다.
ⓑ 이 사건 JSP파일 기능은 그 실행 목적과 경위에 부합하는가?
- 본 법인과 함께 논의한 C 교수는 "웹서버에 대한 관리자 권한 접속은 일반적으로 극히 제한적으로 허용되고 있으며, 테스트단계라면 이 사건 jsp파일의 제한적 기능만을 활용하여 오류정보를 확인하는 것이 보다 신속한 방법일 수 있다"고 의견을 내었습니다.
본 법인 역시 '성능 저하 발견 시 최단 시간 이내에 튜닝작업 실시'라는 발주기관의 제안요청서를 참조해 해당 파일의 실행이 빠른 문제 해결을 위한 행위임을 강조했습니다.
이 사건 JSP파일은 A사의 협력사에서 제공해 준 것으로 보안내규에 위반될 소지가 있는지 여부를 A사에서 최종적으로 확인한 뒤 실행시켰어야 하나, 이를 생략한 과실은 있습니다. 다만 C 교수는 "시스템을 구축하거나 개발하고 테스트하는 과정에서 한 명의 프로그래머가 모든 시스템을 구축할 수 없고 각자 전문 영역이 있는 것이 일반적이므로, 다른 프로그래머가 만든 파일이나 소스코드를 적용하는 경우에 해당 내역을 일일이 확인하는 것은 이례적인 경우이며, 프로그래머는 다른 프로그래머가 작성한 프로그램이나 소스코드를 신뢰한 상태에서 적용하는 것이 일반적 "이란 의견을 제출하였습니다.
ⓒ 이 사건 JSP파일의 실행이 침해사고에 해당하는가?
- 정보통신망법 이용촉진 및 정보보호 등에 관한 법률 제48조에는 '정보통신망 침해행위 금지'에 대한 내용이 서술돼 있습니다. 하지만 시스템의 구축 및 테스트 과정에서, 개발자라면 누구나 오류 수정을 위해 웹서버 내에 디렉토리 및 파일 저장위치 정보 등을 확인할 수 있고, 그렇게 할 수 있어야 오류 수정이 가능합니다.
나아가 이 사건 JSP파일은 시스템의 오류유발, 성능저하 또는 정보유출의 요소가 전혀 없으므로 '바이러스'라고도 볼 수 도 없으며, 이 사건 jsp파일 실행이 논리폭탄, 메일폭탄, 서비스 거부 등의 행위라고도 볼 수 없음을 증명했습니다.
ⓓ 이 사건 JSP파일의 실행이 시스템에 미친 영향은?
- 이 사건 JSP파일의 기능은 서버 내 특정 디렉토리에 생성되는 파일 목록을 확인할 수 있게 해주는 것입니다. 이 파일을 실행함으로써 문제를 해결할 수 있었고, 보안레벨도 강화됐습니다.
아울러 이 사건 JSP파일은 개발 및 구축이 완성된 시스템의 운영 과정에서 실행된 것이 아니라, 구축 중 테스트 과정에서 실행됐기 때문에 해킹, 보안위협, 정보유출 등에 대한 피해가 없었다고 주장했습니다.
이에 따라 이 사건 JSP파일을 실행한 A사는 보안위규를 위배하지 않았으며, 만약 위배소지가 있더라도 사안의 경중과 고의성을 생각한다면 경미한 수준의 부주의라는 의견을 전달하였습니다.
*결론
A사는 이러한 내용이 담긴 의견서를 발주기관에 제출하였으며, 발주기관은 본 법인의 의견을 받아들여 A사의 부주의를 경고하는 수준의 제재조치를 취했습니다. 이에 따라 자칫 프로젝트 몰수나 입찰제한 등의 불이익을 받을 수 있었던 A사는 사업을 영위할 수 있게 되었습니다.