Skip to main content

일반적인 애플리케이션 보안 위협 파악

학습 목표

이 유닛을 완료하면 다음을 수행할 수 있습니다.

  • 애플리케이션과 그 위험의 목록을 작성하고 우선 순위를 정하는 일의 중요성에 대해 설명할 수 있습니다.
  • 애플리케이션 보안 엔지니어가 확인해야 하는 주요 계정 액세스 정보를 나열할 수 있습니다.

애플리케이션과 그 위험에 대해 알아보기

소비자와 비즈니스의 애플리케이션 사용은 모두 지난 몇 년동안 꾸준히 증가했으며, 계속 증가할 것으로 예상됩니다. 최근 몇 년 동안 애플리케이션 개발은 더 쉬워졌지만, 개발에 필요한 리소스는 오히려 줄었습니다. 큰 조직에서는 여러 분산된 개발자 팀이 때로는 IT 및 보안 부서에서 알지도 못하는 사이에 새 프로그래밍 코드를 작성할 수도 있습니다. 이런 사업부에서 기술 구매에 대한 결정도 독자적으로 내릴 경우, 여러 기술 솔루션에 회사 데이터가 저장되지만 표준화 또는 관리는 거의 이루어지지 않을 수 있습니다. 

또한 회사에서 소프트웨어 프로젝트를 더 빨리 끝내길 원해서 개발자가 비즈니스 기능을 서둘러 제공하려고 하면 애플리케이션과 그 데이터의 보안이 위험해질 수도 있죠. 기능을 단시간에 제공해야 할 경우 가능하면 보안 검사를 자동화하는 등 자동화된 프로세스를 더 많이 사용하는 원인이 되기도 합니다.

이 두 가지 이유로 애플리케이션 보안 엔지니어는 자신이 속한 환경의 애플리케이션과 애플리케이션이 제기하는 위험을 먼저 파악하여 작업을 시작해야 합니다. 실물 제품을 취급하는 사업체가 창고에서 재고 조사를 실시하듯, 애플리케이션 보안 엔지니어는 그들 환경의 애플리케이션을 조사하는 일부터 시작합니다. 애플리케이션에 내재된 위험을 파악하여 각 애플리케이션에서 제기되는 위협 및 취약성과 비즈니스 영향을 이해하고 이 정보를 사용하여 관련 보호의 우선 순위를 정할 수 있습니다. OWASP(Open Web Application Security Project)를 통해 어떤 보안 위험이 특정 비즈니스 환경에서 가장 심각한 결과를 초래할 수 있는지 평가하는 위험 평가 방식에 대한 세부 정보 등 애플리케이션 보안 엔지니어를 위한 실용적인 정보를 확인해 보세요.  

재고실에서 비즈니스 자산 재고를 조사하고 있는 사람

보안 위험을 파악하기 위해서는 관련 위협, 사용할 수 있는 방법, 악용될 수 있는 취약성, 그리고 잠재적인 비즈니스 영향에 대해 생각해야 합니다. 애플리케이션 보안 엔지니어는 다양한 위험을 인식하고 차단합니다. 이 중 몇몇 위험은 OWASP 10대 위험에 설명되어 있습니다. 삽입, 교차 사이트 스크립팅(XSS), 잘못된 보안 구성, 취약한 인증, 취약한 액세스 제어, 중요 데이터 노출 및 불충분한 로깅 및 모니터링 등과 같은 위험에 대해서는 이어지는 유닛에서 더 자세히 알아보겠습니다.

애플리케이션 액세스 추적

애플리케이션을 위협하는 자들과 그들이 원하는 것에 대해 생각하는 데 이미 시간을 투자한 후에 애플리케이션과 관련 위협, 취약성, 위험 및 영향을 조사하게 됩니다. 애플리케이션 보안 엔지니어는 공격자가 시스템에 액세스하여 중요한 정보를 훔치거나 기타 피해를 유발할 수 있는 방법에 대해서도 생각해야 합니다. 일반적인 사용자 또는 비사용자가 이용할 수 있는 진입 지점을 공격자가 악용할 수도 있습니다. 엔지니어는 환경을 구성하는 여러 가지 유형의 애플리케이션 액세스를 파악하고 이해해야 합니다. 

애플리케이션 보안 엔지니어는 애플리케이션 액세스에 대해 다음 사항을 생각합니다.

  • 누가 애플리케이션에 액세스할 것인가? 이 애플리케이션은 고객, 비즈니스 파트너, 직원 또는 타사 공급업체 중 누구를 위한 것인가? 이런 사용자에게 각각 필요한 액세스 유형은 무엇인가? 이들은 어떤 권한이나 기능을 수행해야 하는가? 예를 들어 애플리케이션이 금융 거래에 사용될 것인가? 다른 애플리케이션이나 브라우저 세션에 액세스할 수 있게 상호 운용이 가능해야 하는가?
  • 사용자는 어디에서 애플리케이션에 액세스할 것인가? 모바일 애플리케이션인가, 데스크톱 애플리케이션인가? 회사 인트라넷에 접속한 직원 같은 내부 사용자만 사용할 수 있는가, 아니면 외부에서(예를 들어 인터넷에서) 사용 가능한가? 중요 애플리케이션이 네트워크의 상대적으로 덜 중요한 부분과 분리되었는가?
  • 어떤 권한 있는 관리 기능을 사용할 수 있는가? 관리자가 어떤 기능을 수행할 수 있고, 기능이 어떻게 제어되는가? 해당 계정은 어떻게 모니터링되는가?

이런 각각의 질문에 대해 고려할 때는 악의적인 행위자가 다양한 경로를 통해 애플리케이션을 악용하여 비즈니스에 위협이 될 수 있음을 기억해야 합니다. 애플리케이션 보안 엔지니어는 이러한 잠재적인 침입할 수 있는 지점과 후속 경로를 각각 평가하고 적절하게 보호합니다. 다음 모듈에서는 애플리케이션을 보호할 수 있는 방법에 대해 조금 더 자세히 알아보고, 소프트웨어 개발 라이프사이클 보안부터 시작하겠습니다. 

요약

이 모듈에서는 애플리케이션이 무엇인지에 대해 자세히 알아보고, 애플리케이션 보안 엔지니어에게 필요한 스킬에 대해 설명하고, 애플리케이션 보안 엔지니어가 조직 환경의 고유한 애플리케이션, 위험, 취약성 및 위협을 파악하는 방법을 소개했습니다. 몇몇 일반적인 애플리케이션 보안 시나리오도 미리 살펴보았습니다. 애플리케이션 보안 엔지니어 책임 모듈에서는 각 시나리오에 대해 자세히 알아보고, 애플리케이션 보안 엔지니어가 소프트웨어 개발 라이프사이클(SDLC)에 따라 각 시나리오에서 환경을 보호하는 방법에 대해 자세히 알아볼 것입니다. 사이버 보안에 관한 더 많은 정보를 알아보고 싶으신가요? Trailhead에서 사이버 보안 학습 허브를 확인해 보세요.

리소스

계속해서 무료로 학습하세요!
계속 진행하려면 계정을 가입하세요.
얻을 수 있는 이점
  • 커리어 목표에 대한 개인화된 권장 사항 제공받기
  • 실습 과제 및 퀴즈를 통해 스킬 연습
  • 진행 상황을 추적하고 고용주에게 공유
  • 멘토십과 커리어 기회에 연결