SharedIT | 묻고 답하기(AMP)

회사 자체 개발 프로그램 보안 측면에서 관리 방법 문의

안녕하세요. 중견기업에서 IT보안 업무를 맡고 있습니다. 

현재 사내에서 업무 효율화 등을 위해서 몇몇 본부에서 자체적으로 프로그램을 개발해서 사용하고 있습니다. (개인정보는 포함하지 않으며, 내부에서만 사용)

보안담당자가 봤을때에는 관리도 필요하며, 보안 진단 등이 필요할 것 같아 Process를 만들고 있는데요. 

다른 회사에서는  자체적으로 개발한 Program 관리를 어떻게 하고 계신지 궁금합니다. 

일단 저희는 C/C++/JAVA/HTML/VB/PHP/JSP/.NET 언어로 개발된 프로그램은 보안 진단 솔루션을 통해 

안진단을 받고 그 외 언어로 제작해서 사용할 시에는  Application Program 경우 개발 현황 및 라이센스 관

를 통한 보안 Issue 대응 정도로 대비를 하고 있고, JavaScript 등으로 만든 Web Program 의 경우에는 모두 Web 보안진단을 받은 후 사용할 수 있도록 하고 있는데요. 

제가 아직 소프트웨어 보안에 대해서 잘 모르는 입장에서는 Web Program을 개발해서 사용해도 내부망에서만 사용되며, 사용하는 Data도 개인정보(고객정보, 구성원정보)가 포함되어 있지 않은데 꼭 보안 진단을 받아야 하는지 의문입니다. 

혹, 위와 같은 어려움이 있으셨던 경험이나 해결법? 을 알고 있다면 알려주십쇼! 

너무 머리가 아픕니다 ㅠㅠ

Tags : 태그가 없습니다.

6개의 답변이 있습니다.

wansoo
  0 추천 | 약 2년 전

일반 어플리케이션은 미국 MITRE 재단이 제공하는 CVE ( Common Vulnerabilities and Exposure )와 CWE ( Common Weakness Enumeration )을 참고해서 알려진 보안 취약점을 파악해서 체크해 볼 필요가 있겠고요.

웹 어플리케이션은 OWASP ( The Open Web Application Security Project )를 참고해서 최근 웹 보안 위험성 상위 10가지 내용들을 체크해 볼 필요가 있겠고요.


제대로 해 보려면... 

모의 해킹 침투 훈련 같은걸 시행해서 점검해 보는 방법도 있을 것 같고...

행안부 등의 소프트웨어 개발 보안 가이드 같은 문서들을 참고하면 도움이 될 거라 생각되고요.

개인 정보 보호법, 정보 통신망법 등을 비롯한 관련 법들에 대한 검토도 필요하겠고...

e-koreatech의 애플리케이션 보안 운영이라는 과정을 수강해 보면 도움이 많이 될걸로 보여 지네요.


쿨가이
  0 추천 | 약 2년 전

전문기업에게 시큐어코딩이나 보안 취약점 점검은 받고 관리하시는게 어떨까 생각 드네요

차바라기
  0 추천 | 약 2년 전

내부 프로그램 소스 관리라면 보안정책으로 DRM,DLP를 두어서 보호를 하는게 좋지 않을까 싶습니다.

Simon.Park
  0 추천 | 약 2년 전

개인정보를 취급 안한다고 해서 문제가 없다고 생각하는건 문제가 될 소지가 있다고 보네요.

특히 web 을 이용하여 사용 할 경우에는 최근 log4j 문제도 있지만,

이로 인해 시스템에 접근이 가능할 수 있는 부분이 있으니 

보안 문제는 체크하고 사용하셔야 할 듯 합니다. 

미생
  0 추천 | 약 2년 전

개발영역에서 어느정도까지의 시스템 취약점의 문제를 발생시킬 수 있는가가 쟁점이라고 생각됩니다.

  • 1.프로그램의 언어 특성 구동환경등을 고려할 때

  • 1.로우레벨 코드로 시스템의 어느곳이든 때려댈 수 있는 언어들 (C++, Java, C 등)이라면 취약점이 어느정도 있는지, 이게 돌아갈 시스템이 어디인지 (개인의 컴퓨터인지, 서버인지), 그 시스템이 연결되어 있어 영향 받을 수 있는 시스템들이 있는지 체크

  • 2.시스템에 직접 개입성이 떨어지고, 한계가 명확한 수준(물론 요즘 서버 코드들 수준이면 어느정도는 취약합니다, JS, .net .jsp 등등)의 경우는 결국 시스템에서 뭘 하느냐도 중요하지만 결국 DB를 건드리는가 아닌가가 보안취약점의 가장 큰 부분입니다.

  • 1.일반적으로 검색어를 입력하는 구간의 별도처리가 안될경우 쿼리를 넣어서 권한 확보를 하는 등의 취약점들이 많은데 이런 부분들에 대한 체크가 필요합니다.

  • 2.요즘은 안먹히겠지만 일부 실행가능한 코드를 업로드해서 서버상에서 실행 후 권한 확보가 가능한 공격 방식이 있습니다. 이런 부분에 대해 코드를 개발 및 업로드 하는 인원들에 대해서는 계정관리, 계정에 대한 보안 서약 등을 체크할 필요가 잇습니다.

  • 3.그 외에도 수많은 취약점이 존재하겠지만 눈에 보이는 케이스 정도로는 이정도가 있습니다.

  • 2.물론 빡세게 관리한다고 한들 취약점은 어디에나 존재하기 때문에 사전 예방에는 한계가 있고, 대신 사후조치에 대한 리스크를 명확하게 짚어줄 필요성이 있습니다.

  • 1.요즘이야 그럴일 없겠지만 테스트코드로 무한포크 같은 실행코드 쐈다가 서버가 뻗어서 재시작 시키는 일같은 케이스가 있었는데 저런 실수들이 없도록, 문제가 생길 경우 사후 원인 파악 및 대처, 결과보고서가 작성될 필요가 있습니다. 그리고 그에 대한 충분한 사례전파로 리스크를 정확히 짚어줄 필요성이 존재합니다.

  • 3.기본적으로 개인의 컴퓨터 안에서 돌리는 어느정도의 코드까지는 자율성을 부여하되, DB에 접속해서 뭔가를 하거나, 서버에 올려 실행되는 코드들이라면 충분하게 사전 검토등을 하신다면 큰 문제는 없을 것이라고 봅니다.

topkslee | 약 2년 전

정보 감사합니다.^^

빨간신발
  0 추천 | 약 2년 전

정보보안이라는 큰 카테고리에서 개인정보 부분은 무시하셔도 되겠습니다.


개인정보를 취급하지 않으면 당연 할 필요가 없겠지요.


웹 취약점, os 취약점 등 하면좋고 안하면 찜찜하겠네요.


내부망에서 내부자들만 사용해도 내부자들을 신뢰할 수 있는가의 문제로 생각됩니다.


보통은 외부에서(특히 청나라) 많이 공격이 오고 하지만 대학같은 경우 학생들이 재미로 하는 경우도 간혹 있습니다.


그래서 내부 구성원을 신뢰하느냐에 따라서 점검의 시행 여부 또는 강도가 결정되어야 할 듯 합니다.


예를들어 단순 출퇴근만 기록하는 시스템도 내부 사용자들이 출퇴근 시간을 조정할 수 있는 버그를 발견되면 쉬쉬하면서 조용히 악용하는 사람들이 나오겠죠.


이처럼 내부 구성원을 100% 신뢰하면 안되고 어느정도 보안에 대한 예방행위는 한다는 것을 보여줘야 하지 않을까 생각됩니다.