Problēmas novēršana: nedroša šifrēšanas režīma lietojums

Šī informācija ir paredzēta izstrādātājiem, kuru lietotņu satura šifrēšanai tiek izmantots mazāk drošais AES/ECB režīms. Satura šifrēšanai izmantojot šo nedrošo režīmu, šifrētie teksti var būt nedroši un var tikt apdraudēti lietotāju dati. Jūsu lietotnes Play Console paziņojumā ir norādīts, kurās lietotnes vietās tiek izmantoti mazāk droši šifrēšanas režīmi. Ja vieta beidzas ar frāzi “(dinamiski ielādētā kodā)”, vieta tiek norādīta kodā, ko dinamiski ielādē lietotne vai lietotnes izmantotās bibliotēkas. Parasti lietojumprogrammas izmanto dinamiski ielādētu kodu, lietojot funkcijas piegādi pēc pieprasījuma, lai gan ir arī citas metodes, kas nav ieteicamas (ar dažām metodēm, kas nav ieteicamas, tiek arī pārkāpta Google Play politika, un tās nedrīkst lietot). Turklāt pakotāji var pārveidot lietojumprogrammas kodu dinamiski ielādētā kodā.

Kā novērst brīdinājumus par nedrošiem kriptogrāfiskās šifrēšanas režīmiem

Pārskatiet, kurā lietotnes vietā ir atrodama Cipher instance. Tālāk norādītie konfigurācijas režīmi liecina, ka tiek izmantots nedrošs AES/ECB režīms. 

  • "AES"
  • "AES/ECB/NoPadding"
  • "AES/ECB/PKCS5Padding"
  • "AES/ECB/ISO10126Padding"

Piemēram, tālāk norādītajā kodā pēc noklusējuma tiek izmantots AES/ECB režīms, jo ir iekļauts parametrs “AES”. 

// Console brīdinājumā ir atsauce uz šo metodi
 public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
    Cipher cipher = Cipher.getInstance(“AES”); 
// Pēc noklusējuma tiek izmantots AES/ECB režīms
    SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), “AES”);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);

    return cipher.doFinal(plainText);

 }

Google iesaka izstrādātājiem izmantot “AES/GCM/NoPadding”, nevis iepriekš minēto nedrošo režīmu.

Nākamās darbības

  1. Atjauniniet savu lietotni, veicot iepriekš norādītās darbības.
  2. Pierakstieties savā Play Console kontā un iesniedziet atjauninātu lietotnes versiju.

Līdz pieprasījuma pārskatīšanai jaunās lietotnes vai lietotnes atjauninājuma statuss būs Gaida publicēšanu. Ja lietotne netiks atjaunināta pareizi, joprojām tiks rādīts brīdinājums.

Mēs varam palīdzēt

Ja jums ir tehniski jautājumi par ievainojamību, varat tos publicēt vietnē Stack Overflow, izmantojot atzīmi “android-security”.


 
false
Galvenā izvēlne
16442232052956730316
true
Meklēšanas palīdzības centrs
true
true
true
true
true
5016068
false
false