TigerTeam - suomalainen tietoturvablogi

toukokuu 2011

Vanhan maksukorttitiedon käsittely

Monelle kauppiaalle helpoin tapa saavuttaa PCI DSS -yhdenmukaisuus on siirtyminen päästä päähän salaaviin maksupäätteisiin. Oikein valituin tuottein ja integrointiratkaisuin PCI DSS -laajuus jää tällöin maksupäätteisiin ja kauppiasta koskee enää vain muutama PCI DSS -vaatimus.

Julkaisimme mm. päästä päähän salaavan maksupääteratkaisun hyötyjä käsittelevän suomenkielisen white paperin joulukuussa.

Usein maksupääteratkaisu rakennetaan entisen magneettijuovakortteja lukevan ratkaisun tilalle. Vanha ratkaisu on saattanut tallentaa eri järjestelmiin tuhansia maksukorttitietoja – näistä tiedoista iso osa voi olla uratietoja, joita PCI DSS:n mukaan ei saa tallentaa laisinkaan. Syy siihen, että uratietoja on tallennettu on aikaisemmissa ohjeissa, jotka edellyttivät tätä. Lisäksi kauppiaalle on saattanut syntyä mittava kuittivarasto sellaisista kuiteista, joissa koko korttinumero näkyy.

Jotta kauppias saavuttaisi PCI DSS -yhdenmukaisuuden, kaikki vanha maksukorttitieto tulee joko poistaa tai tallentaa asiallisesti. Magneettisella medialla oleva uratieto pitää tuhota ja tallennetut korttinumerot tulee joko tuhota tai salata. Kauppiaskuiteilla olevat korttinumerot tulee osittain säilyttää ja osittain tuhota.

Kirjanpitolaki ei edellytä korttimaksutapahtuman kauppiaskuitin säilyttämistä, jos ostotapahtumasta on jokin muu luotettava tosite. Maksupalvelulaki edellyttää korttimaksutapahtuman kauppiaskuitin säilytystä 18 kuukauden ajan.

PCI-standardi ottaa kantaa kuittien käsittelyyn

Korttinumerollisia kuitteja koskevat useat PCI DSS -vaatimukset:

  • Kuitit tulee säilyttää fyysisesti suojattuina

  • Kuitit on inventoitava säännöllisesti

  • Tarpeettomat kuitit tulee tuhota

Tälle kaikelle tulee laatia prosessit ja lisäksi vielä ongelmatilanteita – kuten kuittien katoamista varten – tulee laatia omat prosessinsa.

Koska uudet päästä päähän salaavat maksupäätteet eivät tulosta kauppiaskuitille koko korttinumeroa, PCI DSS:n alaisten kuittien määrä vähenee jatkuvasti ja putoaa nollaan 18 kuukauden kuluttua maksupäätteiden käyttöönoton jälkeen.

Kassat ja kassapalvelimet sisältävät lähes varmasti sekä uratietoa että korttinumeroita. Hyvin useat kassaratkaisut ovat tallentaneet koko elinkaarensa ajan kaikki lukemansa korttitiedot levylle ja sieltä löytyvä korttitiedon määrä voi olla hyvinkin merkittävä. Ura- ja korttitietoa löytyy tietokannoista, tilapäistiedostoista, lokitiedostoista, debug-tiedostoista sekä varaamattomasta tilasta levyn pinnalta.

Hyvin usein varmin ja edullisin ratkaisu vanhan korttitiedon poistamiselle on levyjen päällekirjoitus joko kaupallisella tuotteella (esim. Blancco) tai open source -tuotteella (esim. DBAN).

Mikäli levyjä ei ole mahdollista tyhjentää kokonaan, levyllä oleva ura- ja korttitieto tuleekin löytää ja sille tulee laatia käsittelysuunnitelma. Useimmiten suunnitelmaksi riittää tiedon tuhoaminen, mutta joskus tallennetut korttinumerot täytyy liiketoimintasyistä säilyttää. Mikäli korttinumeroita säilytetään, ne tulee salata.

Väärät hälytykset korttinumerometsästyksessä yleisiä

Ura- ja korttitiedon löytäminen on haasteellinen tehtävä. Korttinumero on säännöllisen muotoinen ja siinä on Luhn-algoritmiin pohjautuva tarkistussumma, joten päältä katsoen löytämisessä ei pitäisi olla mitään ongelmia. Osittain näin onkin eli työkalut, jotka etsivät levyltä ja tiedostojärjestelmistä säännöllisillä lausekkeilla (regular expression) korttitietoja, löytävät kyllä kaikki korttitiedot, mutta mukana tulee hyvin usein samanmoinen tai jopa isompi saalis vääriä positiivisia. Löydökset vaativatkin runsaasti jatkokäsittelyä, jotta voidaan varmistua siitä, että kyseessä on todellinen korttinumero tai uratieto.

Aitojen löydösten perusteella voidaan laatia poistosuunnitelma, johon tulee kuulua poistetavan tiedon päällekirjoitus jollain ohjelmalla. Suunnitelma tulee testata ja testauksen yhteydessä levyltä tulee etsiä uudelleen korttitieto. Mikäli mitään ei enää löytynyt, suunnitelman mukaiset toimenpiteet voidaan tehdä kaikille puhdistettaville järjestelmille.

Kassojen ja kassapalvelinten varmistusnauhat (tai muut varmistusmediat) sisältävät pääsääntöisesti samat tiedot kuin varmistetut laitteet. Varmistusmediat on syytä tuhota, jos se vain on mahdollista. Mikäli lainsäädäntö tai liiketoimintasyyt pakottavat varmistusmedian säilytykseen säilytysprosessista ei ole mitenkään mahdollista saada PCI DSS:n mukaiseksi. Tällaisessa tapauksessa säilytystä varten on laadittava kompensoiva menettely. Tyypillisesti kompensoiva menettely on varmistusmedian säilytyksen korkea fyysinen turvallisuus.

Tagit: pci_dss Delicious Kommentoi

iPhone file system encryption does not protect your data

Tässä poikkeuksellisesti englanninkielisessä kirjoituksessamme käsittelemme maailmalla julkaistua iPhonen salausavaimien laitteesta lukemiseen tarkoitettua työkalua:

iOS devices iPhone, iPad and iPod Touch support file system encryption but it is not actually protecting data very well. Apple’s documentation states that data is protected at rest, even when the device is lost or stolen. Unfortunately, that doesn’t hold. Even though algorithm might be decent there are weaknesses in the design. Due to these weaknesses it is possible to gain unauthorized access to the data stored on devices left unattended even when the device is protected with passcode. With help of simple tools data can be compromised within minutes. Naturally some of these tools are freely available.

Starting from iOS 4 the operating system encrypts all files on the device. The encryption key for the file system is stored on the device. The problem is, the encryption key is not using any passphrase and encryption is always opened automatically without any user input when the device starts up. It mostly gives you just a false sense of security. Luckily, emails and attachments stored on device are still protected further with user’s passcode key if passcode lock is enabled. This passcode key then protects emails when a device is locked and allows access only when user unlocks the device with passcode.

What is the role of passcode

It is possible to circumvent the normal iOS boot procedure and attach additional software to the operating system. One such method is jailbreaking and others exist that do not actually even write anything to the device storage. When circumventing the boot procedure it is then possible to install SSH server or other software to access data stored on the device even when it is locked with passcode. The passcode is not protecting because it simply locks the user interface and the files are accessed over network or USB connection behind the scenes. All the files apart from emails are readable. It then allows to copy valuable information such as call history, text messages, contacts, calendar and location history. Jailbreaking also allows installing some additional software such as tools to spy the victim. There are easy to follow instructions and tools available to perform the jailbreak and installing SSH server. This won’t take long and 15 minutes or less should be enough when properly prepared.

Now there’s one new method available. ElcomSoft has made tools to read the encryption keys from the device to access encrypted file system dumps. The advantage is that you can dump the encrypted file system to work on a bit-to-bit copy of data. It then gives you more time and possibility to access also data that is protected by user’s passcode key such as emails and attachments. However, you need to brute-force the passcode (four digits by default) or get access to escrow keys stored in iTunes that syncs with the device. It is then recommended to disable four-digit simple passcode and require complex passcodes much harder to brute-force.

Summary:

Should you leave iPhone unattended for a while most of your data could be compromised.

Lauri Kiiski works as a security consultant in Nixu’s Inspect business unit.

Tagit: salaus Delicious Kommentoi