NetGuard는 루트없이 앱의 인터넷 액세스를 다시 제어 할 수있게 해줍니다!

Android Lollipop (5.0)에서 도입 된 변경 사항 중 하나는 Android 전용 인터넷 권한이 제거 된 것입니다. 당시에는 변경 사항에주의를 기울 였지만 사용자는 여전히 루트 액세스를 사용하여 방화벽을 설치하고 개별 앱을 차단할 수있었습니다.

분명히, 이것은 뿌리 뽑기를 원하지 않는 사람들에게는별로 도움이되지 않았지만 그것이 그 방식이었습니다. 그러나 그 이후로 마시멜로는 루팅 된 사용자의 삶을 훨씬 더 어렵게 만듭니다.

널리 알려진 오픈 소스 개인 정보 보호 도구 XPrivacy에 대한 그의 작업으로 유명한 M66B의 공인 개발자는 이제 루트가 필요없는 응용 프로그램을 만들어 인터넷에 액세스 할 수있는 앱을 다시 제어 할 수 있습니다. 그의 최신 응용 프로그램을 사용하면 응용 프로그램이 장치에서 인터넷에 액세스하지 못하도록 선택적으로 차단할 수 있습니다. 이를 통해 사용자는 인터넷에 액세스 할 수있는 앱을 다시 제어 할 수 있으며 실제로 인터넷에 액세스해야하는 항목을 스스로 결정할 수 있습니다.

이런 종류의 측면 사고는 뿌리가 마시멜로와 더 복잡해지기 때문에 우리가 절실히 더 필요로하는 것입니다.

Android 용 NetGuard는 루트가없는 Android 용 방화벽 솔루션으로, 앱이 중단되지 않고 인터넷에 액세스 할 수있는 앱을 제어 할 수 있습니다 (인터넷 연결이 좋지 않다고 생각하는 경우가 거의 없습니다!). NetGuard는 WiFi 및 셀룰러 데이터 네트워크를 개별적으로 제어 할 수 있으며, 잠재적으로 (캡이있는) 셀룰러 데이터 패키지를 통해 급격하게 뭉친 앱을 길들이는 데 유용합니다.

NetGuard는 응용 프로그램이 특정 유형의 네트워크에 쉽게 액세스하거나 차단할 수있는 간단한 사용자 인터페이스를 제공합니다. 녹색 아이콘은 앱의 액세스가 허용됨을 나타내고 주황색 / 빨간색 아이콘은 앱이 차단되었음을 나타냅니다. NetConfig를 설치하고 작동시키는 데 약 2 분이 걸렸습니다. 방화벽 자체를 활성화하려면 상단 표시 줄의 주황색 스위치를 "on"위치 (오른쪽)로 전환해야합니다.

근본이 덜한 미래에 이러한 종류의 혁신은 사용자가 장치를 쉽게 사용자 정의 할 수있게하는 데만 도움이됩니다.

방화벽을 활성화하면 M66B는 배터리 소모를 유발하거나 장치 성능에 영향을 미치지 않도록 최선을 다했습니다. 실제로, 앱은 VPN API를 내부적으로 사용하므로 (인터넷에 액세스 할 수없고 소스를 사용할 수 있음) 걱정할 필요가 없습니다. IPv4 및 IPv6을 지원하며 TCP 및 UDP 프로토콜을 모두 지원합니다. 루트가없는 다른 방화벽에서 NetGuard를 돋보이게하는 것은 개발자가 해결할 수있는 트래픽 처리량을 최소화하면서 최대한 최소화되도록 설계되었습니다.

실제 메시지에 대한 처리를 구현하지 않으면 장치가 절전 모드 일 때도 TCP 패킷을 즉시 구현하고 디코딩해야하는 방화벽과 비교하여 훨씬 더 나은 배터리 수명이 가능합니다. 대신 Android는 특정 응용 프로그램의 트래픽을 VPN을 통해 "강제화"할 수 있기 때문에 NetGuard는 VPN API를 사용하여 특정 응용 프로그램의 트래픽을 "싱킹"합니다. 그런 다음 VPN은 모든 패킷을 삭제하기 때문에 앱별로 휴대 전화의 데이터 유출을 제어 할 수 있습니다.

여기서 흥미로운 점은 개발자가 취한 접근 방식입니다. 오픈 소스 루트 프리 방화벽에 대한 아이디어는 제가 생각하기에 초기 개념을 설계하는 데 도움을주었습니다. 우리는 처음에 IP 주소 및 이와 유사한 것을 차단하는 아이디어에 대해 논의했으며, 심지어 Java 서비스에서 TCP를 효율적으로 구현하고 패킷을 처리하고 작동하는 개념 증명을 수행하는 방법을 실험하기도했습니다.

"NetGuard는 기존의 근본 원인이었던 문제에 혁신적인 솔루션을 제공하기위한 운동의 시작일 수 있기 때문에 흥미 롭습니다."

그러나이 과정에서 여러 앱의 트래픽을 구분하기 위해 프로세스를 응용 프로그램 UID로 변환하기 위해 커널의 "proc"파일 시스템에있는 파일에 대한 문서화되지 않은 액세스를 사용해야합니다. 이 액세스는 SELinux에 의해 이후 버전의 Android에서 쉽게 차단 될 수 있으며보다 보안 지향적 인 장치에서도 차단 될 수 있습니다. 모두 테스트하지 않으면 확실하지 않습니다!

어느 쪽이든, 이 걸림돌은 응용 프로그램 액세스를 제어하는 ​​VPN API의 발견으로 이어졌으며 오늘날 보듯이 NetGuard로 이어졌습니다.

iptables 기반 AFWall +를 포함하여 Android에서 사용할 수있는 다른 오픈 소스 방화벽이 있지만 일반적으로 루트 액세스가 필요했습니다. 최신 장치에서 뿌리를 내리고 유지해야하는 어려움으로 인해 마시멜로에서 뿌리를 내리지 않고 뿌리없이 살려고하는 사용자가 점점 늘어나고 있습니다. 이런 이유로 NetGuard는 잠재적으로 가장 흥미 롭습니다. 전통적으로 근본이 필요한 문제에 혁신적인 솔루션을 제공하는 것이 운동의 시작일 수 있습니다. 근소한 미래에, 이런 종류의 혁신은 사용자가 자신의 장치를 쉽게 사용자 정의 할 수있게하는 데만 도움이 될 수 있습니다. 개인적으로, 이런 종류의 측면 사고는 우리가 절실히 필요로하는 것이라고 생각합니다. 루트는 마시멜로와 함께 더 복잡해지고, 많은 사용자들은 자신의 기기를 뿌리 내리는 데 덜 신경을 쓰지만 여전히 커스터마이징과 기능을 원합니다. 어쩌면 루트 전용 기능을 살펴보고 상자 밖에서 조금 생각하고, 그것을 해결하는 혁신적인 방법이 있는지 확인하고 수정되지 않은 주식 장치에서 가능하게 만들 수 있습니까?

다른 비 루트 솔루션이 있습니까? 아래에 알려주십시오!