모바일과 데스크톱 모두에서 보안 소프트웨어를 구축하는 방법

게시 됨: 2019-03-06

현대 사회에서 보안 문제는 그 어느 때보다 많은 관심을 끌고 있습니다. 다양한 해커와 사기꾼은 코인당 수백 수천 달러의 가치가 있는 암호화폐의 부상으로 번성하기 시작했습니다. 유명인의 민감한 데이터, 은행 자격 증명, 송금 또는 새로운 기술에 대한 정보 - 사람들이 주요 보호 조치를 무시하는 경향이 있기 때문에 온라인 도적은 모든 것에서 이익을 얻습니다.

그러나 물고기는 머리부터 냄새가 난다. 소프트웨어 개발자가 설계한 적절한 보안 기능이 없으면 클라이언트 측에서 데이터를 보호할 수 없습니다. 데스크톱/웹 플랫폼이 최고 등급을 유지하는 동안 지속적으로 증가하는 기능으로 인해 모바일 장치가 더 인기를 얻고 있다는 사실을 고려하여 작성자가 제품을 호환 가능하고 안전하게 만들 수 있는 방법을 찾고 싶습니다. 마지막 섹션에서 사용자를 위한 팁을 찾을 수 있습니다.

간단히 말해서 보안

먼저 애플리케이션 보안과 보안 소프트웨어를 구분해 보겠습니다. 이 용어는 동의어로 보일 수 있지만 첫 번째 정의는 출시된 제품의 전반적인 안전성을 나타내고 두 번째 정의는 배포 후 및 배포 전 단계를 모두 포함하는 다른 측면과 관련이 있습니다.

기본적으로 소프트웨어 응용 프로그램은 사용자가 모바일 가젯이나 데스크톱 플랫폼을 통해 데이터와 상호 작용할 수 있도록 도와주는 간단한 도구입니다. 예를 들어, 건강 기록을 확인하거나 최근 거래에 대한 정보를 얻으려면 전화하거나 방문하는 것보다 스마트 폰이나 병원 / 은행 웹 사이트를 사용하는 것이 훨씬 편리합니다.

문제는 소프트웨어가 민감도에 따라 분류된 데이터 유형을 인식하지 못한다는 것입니다. 수동으로 프로그래밍된 카테고리 및 액세스 권한이 없으면 앱에서 신용 카드의 CVV/CVC 번호와 이름을 구별할 수 없습니다. 따라서 초기 개발 단계부터 적절한 보안 시스템 구축을 시작하는 것이 중요합니다. 다음은 이 프로세스에 대한 몇 가지 팁입니다.

  • 보안 코딩을 수행합니다.
  • 데이터를 분류하고 승인 요구 사항을 설정합니다.
  • 버그를 찾아 제거하십시오.
  • 각 개발 단계에서 보안을 평가합니다.
  • 타사 제품의 신뢰성을 확인하십시오.
  • 개발자에게 사기 기술에 대해 교육합니다.
  • 직원에게 2FA를 요구합니다.
  • 릴리스 후 소프트웨어를 정기적으로 업그레이드하십시오.

알려진 안전 문제

모바일 및 데스크톱 플랫폼이 해커에게 얼마나 취약한지 이해하지 않고는 견고한 보호 앱을 만드는 것이 거의 불가능합니다. 간단히 말해서, 다른 아키텍처를 가진 장치에 침입하는 몇 가지 전통적인 접근 방식이 있으므로 지금 확인하는 것이 좋습니다. 이러한 사항은 모바일 및 데스크탑 제품 모두에 대한 최상의 보안 조치를 계획할 때 설계 단계에서 도움이 됩니다.

스마트폰 및 태블릿

이동이 잦은 라이프스타일에는 모바일 장치가 필수 기능입니다. 따라서 많은 사람들이 이제 컴퓨터에서 스마트폰으로 핵심 데이터를 전송하거나 최소한 두 플랫폼 간에 정보를 동기화합니다. 결과적으로 사기꾼이 중요한 데이터에 액세스할 수 있는 또 다른 지점이 생깁니다. 기술적으로 세 가지 취약한 측면이 있습니다.

  • 장치의 하드웨어.
  • 소프트웨어 자체.
  • 공용 네트워크.

예를 들어, 도둑은 군중 속에서 휴대폰을 쉽게 훔쳐 루팅하고 시스템 내부의 모든 것에 액세스할 수 있습니다. 비공식 유통업체에서 가제트를 구입하면 하드웨어를 조작할 수도 있습니다. 이 약점 외에도 해커는 보호되지 않는 공용 Wi-Fi 네트워크를 통해 스마트폰과 태블릿에 침입하는 것으로 알려져 있습니다. 마지막으로, 비공식 스토어에서 다운로드한 경우 일반 게임이나 미디어 애플리케이션을 통해 맬웨어를 설치할 가치가 없습니다.

웹 및 데스크탑

브라우저와 다운로드한 소프트웨어 모두 인터넷 연결이 필요한 경우 일반적으로 유사하게 작동합니다. 여기에서 애플리케이션은 요청을 보내고 결과를 가져오는 클라이언트 측 역할을 하는 반면 기본 데이터베이스(웹사이트를 탐색하기 위해 브라우저를 사용하는 경우 인터페이스)가 연결된 서버에 있습니다. 따라서 보안 문제는 세 부분으로 나뉩니다.

  • 고객 입장에서.
  • 서버 측.
  • 데이터 교환 프로세스.

가장 위험한 문제는 온라인 로그가 업데이트된 시스템으로 더 이상 보호되지 않는 오래된 인터페이스에 쉽게 침입할 수 있기 때문에 레거시 소프트웨어와 관련이 있습니다. 또한 페이지 캐싱, 잘못된 암호화 서비스 및 쿠키에 의해 노출된 주소/민감한 정보는 해커가 이용할 수 있는 잠재적인 취약한 링크입니다.

보안 소프트웨어 개발

이제 문제는 다음과 같습니다. 두 플랫폼이 서로 다른 약점을 가지고 있는 경우 두 플랫폼 모두에 대해 신뢰할 수 있는 시스템을 만드는 방법은 무엇입니까? 일반적으로 세 가지 접근 방식이 있습니다. 가장 적합한 것을 선택할 수 있지만 각 예의 장단점을 반드시 고려하십시오.

모바일 및 데스크탑

이 경우 개발자는 두 가지 제품(모바일 플랫폼 및 브라우저/데스크톱용)을 서로 별도로 만들어야 합니다. 앱은 상호 연결되거나 동기화되지 않으므로 팀이 두 배의 리소스를 더 투자해야 하므로 금전적, 시간적 측면에서 높은 비용에 대비해야 합니다. 그 결과, 대상 플랫폼을 위해 특별히 설계된 자체 보호 기능이 있는 두 개의 개별 앱이 출시됩니다.

데스크탑과 모바일

이 옵션은 적응력이 뛰어난 웹사이트를 시작하기 위해 제공되므로 웹 및 모바일 사용자에게 모든 요소를 ​​적절하게 표시합니다. 결과적으로 위에서 설명한 웹 취약점을 기반으로 한 취약점이 있는 단일 플랫폼을 얻게 됩니다. 그럼에도 불구하고 최종 제품은 기본 모바일 플랫폼보다 기능이 떨어지고 콘텐츠가 느리게 로드되며 전체 기능이 제한됩니다.

모바일 플러스 데스크탑

별도의 프로젝트를 생성하거나 모바일과 호환되는 웹사이트를 디자인하는 대신 가장 효율적이고 안전한 옵션이 있습니다. Diceus.com 개발자를 포함한 다양한 팀이 이 접근 방식을 사용합니다. 단일 백엔드 플랫폼을 생성해야 하지만 그 위에 두 개의 다른 프론트엔드 시스템을 설치해야 합니다.

예를 들어 모바일과 데스크탑 모두에 확장 가능한 아키텍처를 지원하는 RESTful API를 사용하여 기본 소프트웨어를 구현할 수 있습니다. 또한 React.js는 웹 프런트 엔드에 적합한 선택이며 Xamarin 또는 Cordova 프레임워크는 모바일 크로스 플랫폼 개발자의 요구 사항에 적합합니다.

보안 조치로 이동하여 모바일-데스크톱 접근 방식에 대해 몇 가지 입증된 방법이 있습니다.

  • 최고 수준의 암호화를 제공합니다. 웹 버전의 경우 해킹을 방지하는 실제 암호화 기술이 필요합니다.
  • 탐지를 포함합니다. 프론트엔드 시스템이 백엔드 플랫폼과 강력하게 연결되어 있다면 언제든지 맬웨어를 발견할 수 있습니다.
  • 자기 보호를 포함하십시오. 애플리케이션은 비활성 세션 포기 또는 실패 알림과 같은 런타임 기능을 활용할 수 있습니다.
  • 소프트웨어를 정기적으로 테스트하십시오. 코드 테스트에는 SAST, 앱 및 인프라에는 DAST, 데이터 확인에는 IAST를 사용합니다.
  • 제품을 업데이트하고 지원합니다. 도적들이 새로운 공격을 발명함에 따라 새로운 방어 수단으로 빠르게 대응하는 것이 좋습니다.

설명된 개발 모델은 리소스, 기능 및 안전성 측면에서 가장 균형 잡힌 모델입니다. 개별 제품의 4가지 요소 대신 3가지 포인트(백엔드 1개, 프론트엔드 2개)를 생성하고 보호해야 하지만 기능은 거의 동일합니다.

사용자 중심 보호

결국 클라이언트 측 보안을 잊지 마십시오. 개발자는 최고의 시스템을 만들 수 있지만 사용자의 부주의가 모든 것을 망칩니다. 유형에 관계없이 특정 소프트웨어를 사용할 때 인터넷 위생에 대해 기억하십시오. 의심스러운 이메일을 신뢰하지 말고 웹사이트의 암호화 인증서를 다시 확인하고 바이러스 백신을 사용하십시오. SMS 또는 인증 앱을 통해 추가 인증 코드를 받으려면 항상 2FA를 활성화하십시오. 스마트폰 및 태블릿용 지문 또는 얼굴 인식과 같은 생체 인식 도구를 사용합니다.

전반적으로 개발자와 사용자 모두가 데이터를 보호하는 방법을 알고 있다면 데이터를 보호하는 것은 어렵지 않습니다. 우리 모두가 보안 규칙을 엄격하게 준수한다면 해커는 일자리를 잃을 것입니다.

이에 대한 생각이 있습니까? 의견에 아래로 알려주거나 Twitter 또는 Facebook으로 토론을 진행하십시오.

편집자 추천:

  • 스트리밍 소프트웨어 회사인 Lightstream의 CEO인 Stu Grubbs와의 인터뷰
  • 2019년에 따라야 할 10명의 소프트웨어 개발자
  • 가장 인기 있는 게임 소프트웨어 제공업체 5곳
  • 가장 크고 가장 성공적인 iGaming 소프트웨어 제공업체는 다음과 같습니다.
  • 바이러스 백신 소프트웨어가 인터넷 속도를 늦출 수 있습니까?