Skip to main content

모바일 애플리케이션 보안 엔지니어링에 대해 알아보기

학습 목표

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

  • 애플리케이션 개발과 애플리케이션 보안의 차이점에 대해 설명할 수 있습니다.
  • 앱 개발자가 직면하는 보안 문제를 파악할 수 있습니다.
  • 모바일 앱 보안 엔지니어에게 중요한 핵심 스킬을 나열할 수 있습니다.

애플리케이션 개발과 애플리케이션 보안 비교

모든 모바일 애플리케이션(앱) 개발자가 모바일 애플리케이션 보안(앱 보안) 엔지니어는 아니며, 그 반대의 경우도 마찬가지입니다. 그들은 서로에 대한 배경 지식을 갖고 있을 수 있지만, 각각의 역할에 기대되는 것은 다릅니다. 앱 개발자의 책임에는 일반적으로 코딩, 설계, 관리, 문제 해결, 업데이트 및 가능한 보안 위협 모니터링, 앱에 대한 최종 사용자 지원 제공이 포함됩니다.

반면에 모바일 앱 보안 엔지니어는 보안 관리 및 설계 요구 사항을 소프트웨어 개발 라이프사이클(SLDC)의 소프트웨어 생성 및 개발 단계에서 설정합니다. 앱 위협 모델링 및 위험 평가 수행도 지원하며 다양한 도구를 사용해 모바일 앱을 테스트하여 앱을 공개하기 전에 보안 문제가 해결되도록 합니다. 또한 모바일 앱 릴리스 후에 모바일 앱을 모니터링하여 이전에 탐지되지 않은 새로운 보안 취약성을 확인하고 해결할 수 있습니다. 

앱 보안 딜레마

개발 프로세스의 초점이 보안이 아닌 앱을 빨리 출시하고 새로운 기능을 만드는 데 맞춰지는 경우가 많습니다. 게다가 조직이 모바일 앱 보안에 배정하는 예산이 부족할 수도 있습니다. 또한 모바일 앱 코드에 보안 취약성, 의도하지 않은 용도 또는 숨은 기능이 있는지 검사하거나 테스트하지 않는 조직이 많습니다. 

개발자가 자신이 작업에 사용하는 기초 플랫폼에 대해 알지 못할 수 있다는 문제도 있습니다. 모바일 앱 개발자는 올바른 모바일 앱 보안을 위해서 모바일 앱 리소스를 제공하는 기본 메커니즘과 각 메커니즘의 한계를 모두 알아야 합니다. 

앱이 요청하는 권한이 너무 광범위하고 사용자가 이런 권한 요청에 의문을 제기하지 않을 수 있다는 사실도 모바일 앱 보안을 저해하는 또 다른 요인입니다. 예를 들어 휴대폰의 날씨 앱이 정말 카메라 또는 마이크에 액세스할 필요가 있을까요? 목적은 무엇일까요? 앱에 권한을 과도하게 부여하면 공격 표면이 더 넓어집니다. 앱이 용도와 관련이 없는 정보를 많이 수집할수록 사용자가 중요할 수 있는 데이터를 불필요하게 공유할 가능성이 커집니다.

게다가 모바일 앱을 출시한 후에도 일은 끝나지 않습니다. 새로운 취약점이 매일 발생하고, 가장 평판이 우수한 소프트웨어 라이브러리조차도 보안 업데이트가 필요합니다. 새로운 보안 문제를 빨리 확인하고 해결하기 위해서는 계속 주의를 기울이고 사용자와 소통해야 합니다. 다행히 앱 보안 지식은 이제 구직 시장에서 개발자를 차별화하는 스킬 중 하나가 되었습니다.

모바일 앱 보안 주요 스킬

모바일 앱 개발 및 보안 산업은 모바일 기기가 통신과 업무의 중심이 됨에 따라 계속 성장하고 있습니다. 모바일 기기 및 앱의 사이버 탄력성이 점점 중요해짐에 따라, 경험이 풍부한 모바일 앱 보안 엔지니어에 대한 수요가 증가했습니다. 

보안이 강력한 모바일 앱을 개발하려면 전체 SDLC에 걸쳐 일련의 활동이 요구되며, 앱 구상 단계에 보안 내재화를 위해 협업하고 틀을 벗어난 사고를 통해 위협을 예측하는 등의 매우 많은 노력이 필요합니다. 기술 지식이 있고 나중에 기술 산업에서 성공적인 경력을 쌓고자 하는 사람에게는 모바일 앱 보안 스킬을 연마하는 방법이 가장 좋은 선택일 수 있습니다.

소프트웨어를 사용하여 작업을 자동화하기를 좋아하고 보안 버그 및 결함을 찾아내기를 즐기고 코드 검토를 수행하는 데 관심이 있다면 이 역할을 탁월하게 수행할 수 있습니다. 모바일 앱 보안 엔지니어는 모바일 앱 개발자가 보안 평가 및 코드 검토를 전문적으로 수행하는 동시에 처음부터 안전한 모바일 앱을 설계할 수 있도록 지원합니다. 엔지니어는 배포된 모바일 앱을 보호하는 보안 도구 및 기법도 구현합니다. 모바일 앱 보안 경력을 시작하기 위한 특별한 최소한의 자격은 없지만, 기술적인 배경이 있으면 유리합니다. 

탁월한 모바일 앱 보안 엔지니어가 되기 위해 필요한 스킬을 상징하는 여러 아이콘으로 둘러싸인 엔지니어

교육

컴퓨터 공학 학사 학위나 졸업장이나 어느 정도의 기술 훈련은 모바일 앱 보안 엔지니어로 성공하는 데 가치가 있습니다.

경험

일반적인 프로그래밍 경험이나 소프트웨어 또는 웹 개발 경험이 있으면 도움이 됩니다. 필수 및 비즈니스 맞춤 요구 사항을 충족하는 맞춤형 Android 및 iOS 앱 엔지니어링에 매우 능숙해야 합니다. 사용자 정의 앱을 기술 회사의 앱 스토어에 게시하고 배포할 수 있도록 법적 표준 및 지침을 이해해야 합니다.

자격증

자격증을 취득하면 이 분야에서 매우 유용할 수 있습니다. 보안 소프트웨어 라이프사이클, 보안 소프트웨어 프로그래밍, 웹 애플리케이션 방어 등과 관련된 자격증을 취득하면서 기술 수준을 높이고 해당 분야에 진출하기 위해 준비할 수 있습니다. 모바일 앱 보안 엔지니어에게 필요한 일반적인 자격증은 다음과 같습니다. 

자격증

설명

CSSLP(Certified Secure Software Lifecycle Professional)

소프트웨어 전문가가 보안 실천 방법을 SDLC의 각 단계에 통합할 수 있는 전문성을 갖추고 있음을 인증

GSSP-.NET(GIAC Secure Software Programmer)

보안 코드를 작성하고 기존 코드에서 보안 문제를 인식할 수 있는 실무자의 지식, 스킬 및 능력을 인증

GWEB(GIAC Web Application Defender)

대부분의 보안 문제로 이어지는 일반적인 웹 앱 오류에 대처하기 위해 필요한 보안 지식을 숙달했음을 입증

GMOB(GIAC Mobile Device Security Analyst)

효과적으로 모바일 기기 보안을 평가하고 모바일 앱의 보안 결함을 평가 및 식별하며 모바일 기기 침입 테스트(pentest)를 수행할 수 있음을 인증

SSP(Secure Software Practitioner)

보안이 더 강력한 소프트웨어 코드를 작성하고 취약성을 줄이며 조직의 소프트웨어 제품의 전체적인 보안 상태를 개선하는 데 필요한 스킬 제공

지식

모바일 앱 보안 엔지니어로 일하려면 몇 가지 스킬 세트를 갖춰야 합니다. Android 또는 iOS 플랫폼 개발 스킬이 있고 정적 및 동적 모바일 앱 보안 분석 개념과 관련된 경험이 있어야 합니다. 프로토콜 및 네트워크 분석에 대한 지식을 갖추는 것도 좋습니다. 

또한 OAuthPKI(public key infrastructure)를 포함한 인증 및 암호화 방법과 관련된 경험이 있어야 합니다. OWASP(The Open Web Application Security Project) 모바일 톱 10 및 위협 모델링에 대한 지식도 필요합니다. 프로그램 언어 스킬, 컴퓨터 숙련도, 백엔드 컴퓨팅, 사용자 인터페이스(UI) 설계, 모바일 교차 플랫폼 개발 및 제품 관리도 모두 숙지해야 하는 중요한 사항입니다. 또한 새로운 프로그래밍 지식을 적극적으로 찾고, 에자일 방법 관련 경험이 있고, 분석 스킬을 갖춰야 합니다.

참고

백엔드란 컴퓨터 애플리케이션의 작동을 위해 필요하고 사용자가 액세스할 수 없는 부분을 의미합니다. 백엔드 프로세스의 예로는 수신 요청 처리, 서버에서 HTML(HyperText Markup Language)을 생성하기 위한 코드 실행, 쿼리 언어를 사용하여 데이터베이스로부터 데이터에 액세스하는 것이 있습니다. 

비즈니스 스킬

모바일 앱 보안 엔지니어로 성공하려면 비즈니스 기술을 사용하여 고객의 비전을 이해하고 고객이 원하는 기능을 안전하게 제공할 수 있는 최선의 방법을 이해하는 것이 중요합니다. 제품 관리, 설계, 작문 및 소통 능력 외에도 세부 사항에 주의를 기울이는 것이 엔지니어에게 중요한 부분입니다.

지식 평가

배운 내용을 복습할 준비가 되셨나요? 아래의 지식 평가는 채점되지 않으며, 스스로 지식을 확인하는 간편한 방법일 뿐입니다. 시작하려면 왼쪽 열의 설명을 오른쪽에 있는 일치하는 항목 옆으로 드래그하세요. 모든 항목을 짝 지은 후 Submit(제출)을 클릭하여 결과를 확인하세요. 다시 시작하려면 Reset(재설정)을 클릭하세요.

잘하셨습니다!

요약

이 모듈에서는 모바일 앱 보안 환경에 대해 간단히 알아보았습니다. 모바일 앱 보안의 확산에 대해 자세히 알아보기도 했습니다. 모바일 앱 보안 엔지니어의 책임, 스킬 및 자격 요건도 확인했습니다. 다음 모듈인 모바일 애플리케이션 보안 구현에서는 모바일 앱 보안을 구현하고 모바일 앱을 테스트하는 방법에 대해 알아봅니다. 사이버 보안 역할에 대해 자세히 알아보고 보안 전문가의 이야기를 들어보고 싶으신가요? Trailhead에서 사이버 보안 학습 허브를 확인해 보세요.

리소스

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