Uber 데이터 침해: 이와 같은 사고로부터 앱을 방지하는 방법

게시 됨: 2017-11-28

2016년에 Uber는 해커에게 5,700만 명의 사용자와 운전자 정보를 잃어버렸고 해커는 데이터 삭제를 위해 1,00,000달러를 지불했습니다.

이 사건 은 그들의 CEO 인 Dara Khosrowshahi 가 데이터 유출 에 대해 조명 하는 게시물 을 올렸 을 때 며칠 전 사진 에 등장 했습니다 . 그리고 그 이후로 앱 보안의 경우가 초점이 되었습니다.

Uber가 데이터 침해의 첫 번째 사례는 아니지만 사용자의 개인 데이터가 손상된 경우가 여러 번 있습니다. 이 사건은 사람들이 정보를 요청하는 모바일 앱 사용을 경계하게 만든 사건입니다.

다음은 앱 보안 문제에 대한 모바일 앱 사용자의 입장을 보여주는 시각 자료입니다.

앱 보안 문제

얼마나 끔찍했는지 보십니까?

그러나 귀하의 앱이 브랜드에 앱 보안 게임을 제때에 맞춰야 한다고 경고하는 다음 사례 연구가 되는 것을 방지할 수 있습니다.

방법은 다음과 같습니다.

1. 스크래치로부터 앱 보호

앱의 소스 코드에는 많은 취약점이 존재하지만 대부분의 앱 회사는 모바일 앱 보안 모범 사례 구현에 집중하면서 네트워크 부분에만 집중합니다 . 코딩 오류, 코드 테스트 등 데이터 유출의 기반이 될 수 있는 곳이 너무 많습니다.

다음은 앱이 존재하는 날부터 앱을 보호하기 위해 할 수 있는 일입니다.

  • 암호화로 앱 코드를 보호하세요. 이를 수행하는 방법에는 축소와 난독화의 두 가지가 있지만 충분하지 않습니다. API 암호화와 결합된 잘 지원되는 알고리즘을 사용하는 것이 좋습니다.
  • 코드에 대한 소스 코드 스캔을 자주 실행하십시오.

보안 코드의 표시는 운영 체제와 장치 간에 이식된 후에도 보안이 유지된다는 것입니다. 애자일 코드를 만드는 것은 이 면에서 엄청나게 도움이 됩니다.

2. 백엔드에서 네트워크 연결 보호

긴

앱의 API에서 액세스하는 클라우드 서버에는 무단 액세스를 방지하고 사용자 데이터를 보호하기 위한 적절한 보안 조치가 있어야 합니다. API 검증은 민감한 정보가 클라이언트에서 앱 데이터베이스 또는 서버로 전달되지 않도록 이루어져야 합니다.

이 단계를 성공적으로 수행하려면 백엔드 개발 프로세스가 견고해야 합니다.

네트워크 연결을 보호하는 방법은 다음과 같습니다.

  • 문서 및 데이터를 저장하기 위한 암호화된 컨테이너 생성
  • 네트워크에 대한 일련의 취약성 평가 및 침투 테스트를 수행하여 데이터가 보호되는지 확인하십시오.
  • 보안 강화를 위해 SSL, VPN 및 TLS로 데이터베이스 및 연결 암호화
  • 연합 적용 – 서버 전체에 자원을 분산시켜 모든 자원이 한 곳에 있지 않도록 하는 한편 주요 자원을 사용자로부터 분리합니다.

3. 인증, 식별 및 권한 부여 프로세스가 있어야 합니다.

앱을 식별, 인증 및 승인하는 방법은 다음과 같습니다.

  • 앱에서 사용하는 API가 작동하는 데 필요한 API인지 확인하고 모든 앱 기능 대신 초점이 맞춰진 부분에만 액세스 권한을 부여하세요.
  • 앱이 개발 단계에 있을 때 사용할 수 있고 반드시 따라야 하는 도구와 프로토콜이 많이 있습니다. 여기 있습니다 -
    • JSON 웹 토큰 – 데이터 교환을 암호화하는 데 사용되는 경량 도구로, 구현이 번거롭지 않아 모바일 앱에 이상적입니다.
    • OpenID Connect – 사용자가 ID 토큰을 사용하여 서로 다른 도메인에서 자격 증명을 재사용할 수 있도록 하여 매번 동일한 정보로 등록하고 등록하는 시간을 절약할 수 있는 프로토콜입니다.
    • OAuth2 – 이 프로토콜은 일회성 사용자별 토큰을 통해 보안 연결을 관리하는 데 사용됩니다. 인증 서버에 프레임워크를 설치하면 2단계 SMS 질문과 같은 자격 증명을 수집하여 최종 사용자와 클라이언트 간에 사용자 권한을 부여할 수 있습니다.

4. 포괄적인 테스트 수행

웹 앱과 달리 모바일 앱 데이터의 대부분은 로컬에 저장되며 대역폭, 성능, 품질이 다양한 기기에 데이터가 저장되기 때문에 해킹될 위험이 훨씬 더 큽니다.
기기의 불안정 요소와 함께 성별, 연령, 기기 사용 등 사용자가 모르는 사이에 데이터를 공개하는 경향이 있는 앱도 있습니다.

앱에서 고객 데이터를 안전하게 보호할 수 있는 방법 –

  • 파일 수준 암호화의 도움으로 파일별로 데이터를 보호할 수 있습니다. 저장 데이터를 암호화하여 가로챌 때 읽지 않도록 하는 방법 중 하나입니다.
  • Appcelator 플랫폼과 같은 도구는 로컬에 저장된 모바일 데이터의 안전을 보장합니다.

키 관리가 우선되어야 합니다. 강력한 알고리즘의 기초는 동등하게 강력한 인증서와 키입니다.

5. 계획된 API 보안 전략

모바일 개발은 API와 밀접하게 연결되어 있으므로 앱을 안전하게 만드는 주요 부분은 API를 안전하게 만드는 데 달려 있습니다. API는 애플리케이션, 클라우드 및 여러 사용자 간에 데이터를 전송합니다. 데이터를 보고 사용하려면 모든 관련 당사자를 식별하고 권한을 부여해야 합니다. API는 기능, 콘텐츠 및 데이터의 기초이므로 보안을 유지하는 데 많은 시간이 소요됩니다.

API

API에는 식별, 인증 및 권한 부여의 세 단계를 처리해야 합니다.

아래의 세 가지 요소 모두를 살펴보겠습니다.

신분증

프로세스의 첫 번째 부분인 식별 해킹은 API 키 구현을 통해 방지할 수 있습니다. 이러한 키는 암호가 필요 없는 임의의 고유 식별자입니다.
API 키를 사용하여 데이터가 표시되는 시점을 보호할 수는 있지만 데이터를 보아야 했던 사람이 데이터를 볼 수 있다고 결정할 수는 없습니다.

입증

정보를 보려는 사람이 정보를 볼 수 있도록 보장하는 프로세스입니다. 이 단계에서 사용자 이름과 암호를 설정하여 시스템이 추가 보안 수준을 얻을 수 있도록 합니다.

권한 부여

이 단계에서는 API로 무엇을 할 수 있는지라는 질문에 답합니다. 이 프로세스를 보호하는 단계에는 2단계 인증, 토큰 및 1회용 암호가 포함됩니다.

6. 앱 테스트

앱이 하이브리드, 네이티브 또는 웹 앱인지 여부에 관계없이 사용성 및 기능 측면뿐만 아니라 보안 측면에서도 테스트해야 합니다. 의 보안을 보장하기 위해 품질이 보장되도록 하려면 따라야 하는 여러 단계가 있습니다 .

다음은 앱의 보안 테스트를 확인할 수 있는 방법입니다.

  • 침투 테스트 – 취약점을 찾기 위해 네트워크와 시스템을 조사하는 것을 의미합니다.
  • 에뮬레이터를 사용하여 앱이 시뮬레이션된 환경에서 어떻게 수행되는지 테스트합니다.
  • 권한 및 인증, 세션 관리, 데이터 보안 문제를 자세히 테스트합니다.

이것이 당신의 앱이 각광을 받지 않도록 하기 위해 앱 개발 프로세스에서 사용할 수 있는 6가지 방법입니다.

시간이 있는 동안 시간에 잘 통합되도록 하십시오.