Discover Performance

for IT Executives // 3월 2012년
구독신청하기

개발자의 보안 인식 제고를 위한 4단계

보안은 이미 애플리케이션 팀의 고민거리 중 하나가 되었으므로, 개발자들이 처음부터 안전한 코드를 개발할 수 있게 하는 것이 중요합니다. 이제, 여기서 시작하십시오.

대부분의 기업 개발자들은 보안 문제에 대해 기능 및 성능 요구 사항만큼의 관심을 기울이지 않습니다. 그러다가 결국, 보안 팀이나 최종 사용자가 문제를 발견한 후에 보안 문제 해결에 매달리게 되는 경우가 대부분입니다. 개발자가 몇 시간 또는 며칠에 걸쳐 재작업하는 동안 애플리케이션은 잠재적 수익원의 역할을 하지 못하고 CIO와 애플리케이션 담당 VP는 비용 상승 및 배포 지연 문제를 해결해야 합니다. 그러나 이는 시작에 불과합니다. 출시 후 취약점이 드러나기라도 하면 더 심각한 상황이 전개되기 때문입니다. 

앞선 IT 조직들은 보안 문제에 사후 대처하기보다는 애플리케이션 개발 과정에서 개발자가 보안을 구현할 수 있도록 뒷받침합니다. SSA(Software Security Assurance)는 애플리케이션 팀이 더 안전한 애플리케이션을 구축하고, 더 신속하게 상용화함으로써 보안 팀이 주변 영역 보안에 주력할 수 있게 해주는 종합적인 방식입니다.

하여, 그 출발점이 되는 4단계를 통해, 귀사의 팀이 보다 안전한 애플리케이션을 개발하도록 동기화하고 지원할 수 있습니다.

1단계: 교육
첫째, SSA가 중요한 이유에 대한 인식을 조성해야 합니다. 이는 개발자의 업무 부담을 늘리는 또 하나의 책임에 이 아니라, 개발자가 더 효과적으로 일하고 추후 개발자 자신과 회사 전체가 시간과 비용을 절약하는 데 꼭 필요한 조건입니다.

그리고 SANS Institute와 같은 교육 기관에서 실시하는 워크샵, 컨퍼런스, 인증, 세미나 프로그램을 찾아보십시오. 웹 애플리케이션 보안 문제를 해결하는 방법에 관한 지침과 기술 자료를 제공하는 OWASP(Open Web Application Security Project)와 같은 기관에서 마련하는 전문 교육 및 교류 기회가 웹 애플리케이션 팀에게 유익할 수 있습니다. 그리고, 배움을 즐기는 개발자에게 도움이 될 많은 리소스가 있습니다.

2단계: 리스크 평가 및 우선 순위 결정
애플리케이션 보안은 하룻밤 사이에 해결할 수 있는 문제가 아니므로, 현명하게 집중적으로 처리하십시오. 다음과 같이 질문해 보십시오.

  • 현재 애플리케이션의 상태는 어떻습니까? 외부 기관에서 테스트하거나 평가한 보안 항목이 있다면 무엇입니까?
  • 어떤 애플리케이션에 컴플라이언스 규칙이나 거버넌스 규정이 적용됩니까?
  • 해당 기업에서 보안과 관련하여 가장 우선 순위가 높은 애플리케이션은 어느 것입니까? 고객 데이터, 고객 만족 또는 수익 손실과 관련하여 큰 위험이 있는 분야는 어디입니까?

3단계: 프로세스 설계
요구사항의 다른 유형과 마찬가지로, 보안 요구 사항도 수집, 관리하고 추적해야 합니다. 요구 사항 정의 및 관리에 ALM 도구를 사용하는 경우, 보안 요구 사항 또는 유저 스토리를 위한 템플릿을 만들고 이를 여러 팀들끼리 공유하여 프로젝트 범위 또는 반복에 포함하십시오. 위협 모델링을 제도화하는 것도 중요합니다. 코딩 담당자가 사용자일 경우에는 해커가 원하는 바를 밝히는 유저 스토리를 작성하는 방법도 있습니다. “내가 해커라면 브라우저 캐시에 악성 Javascript 라이브러리를 인젝션하여 HTTPS를 공격하겠습니다." 잠재적 위협의 우선 순위를 정한 다음 개발자는 동일한 "설계, 코딩, 테스트" 프로세스를 따릅니다. 그러나 여기서는 단순히 기능만 추가하기보다는 잠재적 취약점을 제거하게 됩니다.

OpenSAMM(Open Software Assurance Maturity Model)은 설계 프로세스에 소프트웨어 보증을 통합하는 방법에 관한 추가적인 베스트 프랙티스를 제공합니다.

4단계: 알맞은 도구 집합의 통합 시작
어느 지점에 이르면 SSA를 지원할 도구 집합의 통합에 착수하게 됩니다. 다음 기능을 갖춘 솔루션을 찾으십시오.

  • 정적 분석 도구- 개발 과정에서 빌드 프로세스의 일환으로 소스 코드상의 문제를 찾아내는 데 사용합니다.
  • 동적 분석 도구 - 해커가 구사할 만한 기법으로 애플리케이션을 공격하거나 취약점을 규명합니다.
  • 관리 프레임워크 및 애플리케이션 거버넌스 기능 - 테스트와 관련하여 프로그램을 관리하는 데 유용합니다. 테스트 결과를 취합할 뿐 아니라 문제를 해결할 수 있는 도구가 필요합니다.
  • ALM 환경에 보안 도구 및 그 메타데이터 통합 - 주요 목표 또는 반복/스프린트 결과물의 일부로 보안 요구 사항 및 결함을 관리할 수 있습니다.

해커들의 표적 공격이 늘고 있는 만큼 보안 팀에게는 주변 보안에 주력할 수 있는 시간적 여유가 필요합니다. 그러기 위해서는 애플리케이션 팀이 처음부터 코드의 보안을 염두에 두어야 합니다. SSA를 시작하는 법에 대한 자세한 내용은 Fortify의 “Why Software Security Assurance?” 페이지를 참조하십시오.


구독신청하기

이벤트

주간 Discover Performance

HP Software의 Paul Muller가 진행하는 가장 떠오르는 IT 사안을 파헤치는 주간 비디오 쇼에서 최신 에피소드를 확인하십시오. 자세히 보기


HP 소프트웨어 관련

가장 많이 읽은 기사

Discover Performance

이전 기사