Uber 데이터 침해: 이와 같은 사고로부터 앱을 방지하는 방법
게시 됨: 2017-11-282016년에 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로 무엇을 할 수 있는지라는 질문에 답합니다. 이 프로세스를 보호하는 단계에는 2단계 인증, 토큰 및 1회용 암호가 포함됩니다.
6. 앱 테스트
앱이 하이브리드, 네이티브 또는 웹 앱인지 여부에 관계없이 사용성 및 기능 측면뿐만 아니라 보안 측면에서도 테스트해야 합니다. 앱 의 보안을 보장하기 위해 품질이 보장되도록 하려면 따라야 하는 여러 단계가 있습니다 .
다음은 앱의 보안 테스트를 확인할 수 있는 방법입니다.
- 침투 테스트 – 취약점을 찾기 위해 네트워크와 시스템을 조사하는 것을 의미합니다.
- 에뮬레이터를 사용하여 앱이 시뮬레이션된 환경에서 어떻게 수행되는지 테스트합니다.
- 권한 및 인증, 세션 관리, 데이터 보안 문제를 자세히 테스트합니다.
이것이 당신의 앱이 각광을 받지 않도록 하기 위해 앱 개발 프로세스에서 사용할 수 있는 6가지 방법입니다.
시간이 있는 동안 시간에 잘 통합되도록 하십시오.