10월, 2021의 게시물 표시

Android FLAG_IMMUTABLE or FLAG_MUTABLE Error

이미지
사용 언어: Kotlin 1.5.31 사용 버전: Android Studio 2020.3.1 Patch 3 ​ 안드로이드 FLAG_IMMUTABLE or FLAG_MUTABLE Error를 알아보겠습니다. Android 12(S API 31)부터 PendingIntent에 FLAG_IMMUTABLE 또는 FLAG_MUTABLE을 명시해야 합니다. 가상 기기 Android 12에 앱을 실행하면 이렇게 오류가 뜨는데, 웃긴 건 PendingIntent를 사용하지 않아도, Flag를 추가해 줘도 오류가 뜬다는 것입니다. 해결법은 다음과 같습니다. ​ ​ work 라이브러리를 추가해 줍니다. 앱 용 build.gradle로 갑니다. 거기에 implementation 'androidx.work:work-runtime-ktx:2.7.0'을 적어줍니다. Sync Now를 누릅니다. ​ ​ 이제 해당 오류는 발생하지 않게 됩니다. ​ 끝. 카테고리: Android

정보보안기사 11

정보보안기사 ​ - Pass the Hash 탈취한 윈도우의 LTLM 및 LanMan 해시를 이용해 원격 서버/서비스에 인증하는 공격 기법이다. mimikatz로 공격할 수 있다. ​ - Pass the Ticket 탈취한 Kerberos 티켓을 사용해 원격 서버/서비스에 인증하는 공격 기법이다. mimikatz로 공격할 수 있다. ​ - DNS Cache Poisoning(DNS 캐시 포이즈닝) DNS 서버에 저장된 Cache를 수정하여 잘못된 주소로 접속을 유도하는 공격이다. ​ - MITRE ATT&CK(어택) Framework MITRE(마이터) 어택은 사이버 공격 전술 및 기술에 대한 정보를 기반으로 하는 보안 프레임 워크이다. 공격자의 행위를 식별해 줄 수 있는 프레임워크를 제공한다. ​ - Credential Stuffing(크리덴셜 스터핑) Credential Stuffing은 다른 곳에서 훔친 사용자의 정보(이메일, 유저 이름 그리고 이에 따른 비밀번호)를 활용하여 다른 사이트에 접속을 시도하는 공격이다. ​ ​ - Common Vlunerability Scorinig System(CVSS) MITRE(마이터)에서 만든 취약점 분석 기준으로 취약점의 심각도를 객관적으로 판단할 수 있는 수치로 나타낸다. CVE(Common Vlunerabilities Exposures)의 구성 요소 중 하나이다. ​ - CERT(침해 사고 대응팀)의 대응 7 단계 사고 전 준비 과정 - 사고 탐지 - 초기 대응 - 대응 전략 체계화 - 사고 조사 - 보고서 작성 - 해결 ​ - [행정 규칙](개인정보보호위원회) 개인정보의 기술적·관리적 보호조치 기준 [시행 2021. 9. 15.] [개인정보보호위원회고시 제2021-3호, 2021. 9. 15., 일부개정] 제2조(정의) 이 기준에서 사용하는 용어의 뜻은 다음과 같다. 3. "내부관리계획"이라 함은 정보통신서비스 제공자등이 개인정보의 안전한 처리를 위하여 개인정보보호 조직의 구성, 개인정...

정보보안기사 10

이미지
정보보안기사 ​ - 무선인터넷 보안 WEP - RC4 WPA - RC4-TKIP WPA2 - AES-CCMP ​ - EDR(Endpoint Detection and Response, 엔드 포인트 위협 탐지 및 대응) EDR은 컴퓨터와 모바일, 서버 등 단말(Endpoint)에서 발생하는 악성 행위를 실시간으로 감지하고 이를 분석 및 대응하여 피해 확산을 막는 솔루션이다. 주로 악성코드, 랜섬웨어, 바이러스, 정보 유출 차단 목적으로 사용되나 '제로데이 공격(Zero day Exploit)' 대응에 효과적인 것으로 알려져 있다. ​ - strace strace는 진단, 디버그, 지시적 사용자 공간 유틸리티이다. 시스템 호출, 신호 전달자, 프로세스 상태의 변화를 포함하는 프로세스와 리눅스 커널 간 상호 작용을 감시하는 데 사용된다. ps 변조를 확인하기 위해서는 다음과 같이 사용한다. strace -e trace=open ps | more -e trace=[시스템 콜]이 들어간다. open의 경우 system call만 추적하겠다는 뜻이다. ​ - 0-RTT 0-RTT는 Zero Round Trip Time Resumption이다. TLS 1.3에 추가된 기능으로 인터넷 연결 속도를 향상시켜준다. ​ - TMS(Threat Management System) TMS 솔루션은 전사적 IT 인프라의 위협 정보들을 수집, 분석, 경보, 관리하는 정보보호 통합 관리 시스템이며, 실시간으로 공신력 있는 대외 정보보호기관의 위협 정보들을 수집, 분석하여 정보보호 관리자에게 제공함으로써 각종 보안 위협으로부터 사전 대응 및 예보, 경보 체계를 구축하고 이를 통해 알려지지 않은 공격들에 대한 조기 대응을 유도하는 시스템이다. ​ - ISO/IEC 위험관리 모델 - DTLS(Datagram Transport Layer Security) DTLS는 UDP에서 TLS를 사용할 수 있게 해주는 프로토콜이다. Datagram을 기본으로 하는 애플리케이션 간의 통신을 안전하...

Android How to get bitmap from Uri

이미지
사용 언어: Kotlin 1.5.31 사용 버전: Android Studio 2020.3.1 Patch 2 ​ 안드로이드 How to get bitmap from Uri를 알아보겠습니다. ​ Gallery를 통해 얻은 사진 파일의 경로는 Uri로 표현됩니다. 내가 선택한 이 경로에 있는 이미지를 Bitmap으로 만들려면 다음과 같이 적어주면 됩니다. P 버전 (API 28)부터 사용하는 API가 변경되어서 다음과 같이 분기를 해줘야 합니다. 여기서 readPath는 Uri 타입의 변수입니다. P 버전 이상은 ImageDecoder.decodeBitmap(ImageDecoder.createSource(requireActivity().contentResolver, Uri)) P 버전 미만은 MediaStore.Images.Media.getBitmap(requireActivity().contentResolver, Uri) ​ ​ 끝. 카테고리: Android

Android Automatically removed my import statment

이미지
사용 언어: Kotlin 1.5.31 사용 버전: Android Studio 2020.3.1 Patch 2 ​ 안드로이드 Automatically removed my import statment를 알아보겠습니다. ​ 지인분이 자꾸 import가 지워진다고 해서 확인해 봤습니다. 처음엔 장난인 줄 알았는데 정말로 지워지더군요. 이유는 Optimize imports on the fly 설정 때문이었습니다. 오늘은 이걸 어떻게 설정 해제하는지 알아보겠습니다. ​ ​ File - Settings...로 갑니다. Editor - General - Auto Import를 찾아봅니다. 사용하는 언어를 찾아서 Optimize imports on the fly를 해제해 줍니다. 언어별로 자동 삭제 기능을 설정할 수 있는데요. 기본으로는 이게 설정이 해제되어 있는 상태입니다. 하지만 다른 사람에게 파일을 받았는데 저 기능이 켜져 있다면 모르는 사람은 당황스럽겠네요. ​ ​ 끝. 카테고리: Android

Android How to change deprecated VIBRATOR_SERVICE

이미지
사용 언어: Kotlin 1.5.31 사용 버전: Android Studio 2020.3.1 Patch 2 ​ 안드로이드 How to change deprecated VIBRATOR_SERVICE를 알아보겠습니다. ​ 안드로이드 OS 12(API 31)가 출시될 준비를 하면서 VIBRATOR_SERVICE를 deprecated 시켜버렸습니다. 따라서 Android 12부터는 다른 방식으로 Vibrator를 불러와야 하는데요. 어떻게 하는지 알아보겠습니다. ​ 원래 Vibrator는 이렇게 불렀습니다. 그런데 취소선이 그어진 것이 보이죠? 사용하지 말라는 뜻입니다. 그럼 어떻게 해야 하는가? 안드로이드 12에 새롭게 추가된 VIBRATOR_MANAGER_SERVICE를 써야 합니다. 자 똑바로 적었는데 빨간색 경고가 뜹니다. 이유는 API level S (API 31) 이상만 가능한데 너 건 API 21이라서 못써, 이런 뜻입니다. 자 그럼 코드를 나눠줘야죠. 구글이 deprecated 시킬 때마다 슬픕니다. 코드가 길어지니까요. 이제 잘 해결되었습니다. ​ ​ 끝. 카테고리: Android

Android Open soucre license notices

이미지
사용 언어: Kotlin 1.5.31 사용 버전: Android Studio 2020.3.1 Patch 2 ​ 안드로이드 Open source license notices를 알아보겠습니다. Open source를 사용하게 되면, 해당 오픈소스의 라이선스를 표기해야 합니다. 이것을 일일이 적기란 힘듭니다. 찾던 중 구글에서 지원해 주는 oss-licenses라는 플러그인을 보았습니다. 한 번 사용해 보겠습니다. https://developers.google.com/android/guides/opensource#groovy-dsl 먼저, 프로젝트 용 build.gradle에 아래를 추가해 줍니다. classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4' Sync Now를 누릅니다. ​ 앱 용 build.gradle에 갑니다. plugins에 id 'com.google.android.gms.oss-licenses-plugin'을 입력합니다. 그리고 아래의 dependencies에 다음을 추가합니다. implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0' Sync Now를 누릅니다. ​ 오픈소스 목록을 보여주려면 원하는 위치에 다음과 같이 입력합니다. startActivity(Intent(this, OssLicensesMenuActivity::class.java)) 짜잔. ...