Microsoft on ilmoittanut julkaisevansa lähdekoodin analysointityökalunsa, Microsoft Application Inspectorin , lähdekoodin auttaakseen kehittäjiä, jotka ovat riippuvaisia kolmannen osapuolen ohjelmistokomponenteista. Microsoft Application Inspector on lähdekoodin analysaattori, joka on suunniteltu paljastamaan ohjelmistokomponenttien tärkeitä ja muita ominaisuuksia käyttämällä staattista analyysia JSON-pohjaisen sääntömoottorin kanssa.
Tämä koodianalysaattori eroaa muista samantyyppisistä työkaluista, koska se ei rajoitu pelkästään ohjelmointikäytäntöjen havaitsemiseen , vaan se on suunniteltu siten , että se koodinhallinnan aikana tunnistaa ja korostaa ne ominaisuudet, jotka yleensä vaativat huolellista manuaalista analyysia.
Microsoftin työkalusta antamien selitysten mukaan:
Microsoft Application Inspector ei yritä tunnistaa "hyviä" tai "huonoja" malleja. Voit ilmoittaa löytämästäsi viittaamalla yli 400 sääntömallin sarjaan ominaisuuksien havaitsemiseksi. Microsoftin mukaan tämä sisältää myös ominaisuuksia, joilla on turvallisuusvaikutuksia, kuten salauksen käyttö ja paljon muuta.
Työkalu toimii komentoriviltä ja on alustojenvälinen . Se on suunniteltu skannaamaan komponentit ennen käyttöä, jotta voidaan selvittää, mikä ohjelmisto on tai mitä se tekee.
Antamistasi tiedoista voi olla hyötyä ohjelmistokomponenttien määrittämiseen kuluvan ajan lyhentämisessä tutkimalla lähdekoodia suoraan sen sijaan, että luotettaisiin lähinnä rajoitettuihin asiakirjoihin tai suosituksiin.
Microsoft Application Inspector tukee useiden ohjelmointikielten analysointia , mukaan lukien C, C++, C#, Java, JavaScript, HTML, Go, PowerShell jne., sekä tulostusmuotojen sisällyttämistä HTML-, JSON- ja tekstimuotoon.
Microsoft Application Inspectorin kehittäjät sanovat, että se on suunniteltu yksilölliseen tai laajamittaiseen käyttöön ja että se voi analysoida miljoonia rivejä lähdekoodia komponenteista, jotka on rakennettu useilla eri ohjelmointikielillä.
Microsoft tunnistaa sovellustarkastajan avulla tärkeimmät muutokset komponentin ominaisuuksiin ajan mittaan (versioittain), koska ne voivat viitata mihin tahansa lisääntyneestä hyökkäyspinnasta haitalliseen takaoveen.
He käyttävät työkalua myös korkean riskin komponenttien ja odottamattomien ominaisuuksien omaavien komponenttien tunnistamiseen , jotka vaativat lisätarkastelua. Korkean riskin komponentteihin kuuluvat esimerkiksi kryptografiaan, todennukseen tai deserialisointiin liittyvät komponentit, joilla haavoittuvuus todennäköisesti aiheuttaa enemmän ongelmia.
Tavoitteena on tunnistaa nopeasti riskialttiit kolmannen osapuolen ohjelmistokomponentit niiden erityisominaisuuksien perusteella, mutta työkalu on hyödyllinen myös monissa turvattomissa tilanteissa.
Pohjimmiltaan nämä ovat Microsoft Application Inspectorin tärkeimmät ominaisuudet :
- JSON-pohjainen sääntömoottori, joka suorittaa staattisen analyysin.
- Kyky analysoida miljoonia lähdekoodirivejä komponenteilla, jotka on luotu monilla kielillä.
- Kyky tunnistaa suuririskiset komponentit ja odottamattomat ominaisuudet.
- Kyky tunnistaa komponentin ominaisuuksien muutokset versioittain, mikä voi osoittaa mitä tahansa haitallisesta takaovesta suurempaan hyökkäyspintaan.
- Kyky tuottaa tuloksia useissa muodoissa, mukaan lukien JSON ja HTML.
- Kyky löytää ominaisuuksia, jotka kattavat Microsoft Azure-, Amazon Web Services- ja Google Cloud Platform -palvelun sovellusliittymät ja käyttöjärjestelmän ominaisuudet, kuten tiedostojärjestelmän, suojausominaisuudet ja sovelluskehykset.
Kuten odotettua, alusta ja kryptografia ovat hyvin katettuja , ja se tukee symmetrisiä, epäsymmetrisiä, hash- ja TLS-salaustekniikoita.
Tietotyypeissä voidaan tarkistaa riskit, mukaan lukien arkaluonteiset ja henkilökohtaisesti tunnistettavat tiedot.
Muita tarkistuksia ovat käyttöjärjestelmän toiminnot, kuten alustan tunnistus, tiedostojärjestelmä, rekisteri ja käyttäjätilit, sekä turvaominaisuudet, kuten todennus ja valtuutus.
Lopuksi, niille, jotka ovat kiinnostuneita kokeilemaan Microsoft Application Inspectoria, se on nyt saatavilla GitHubissa.