Archive for the ‘Android’ Category

DEFCON 19 notes: day 3.

Tuesday, August 9th, 2011

“Earth vs. The Giant Spider”: This was described as a collection of weird, bizarre, freaky, and unusual hacks compiled by the presenters during penetration tests. I figured this would probably be a high energy, lots of fun, lots of laughs panel. I ended up kind of disappointed. Maybe high energy is too much to expect at 10 AM on DEFCON Sunday, but the presenters seemed curiously subdued. (This may have had something to do with non-functional equipment that resulted in them having to drop the live penetration test portion of the presentation.)

As for the hacks…well, okay, owning an entire country’s credit card processing (bypassing the firewall by sending packets from source port 0) is kind of cool. Getting cheap food from a restaurant chain by hacking a Javascript that communicates with a 3rd party server, and doesn’t validate data being sent from the restaurant’s website to the server? Meh. The story about cloning the support mailbox on an old ROLM PBX (default field service user ID/password) which ended up with the penetration testers doing Checkpoint support for one of the corporate users? Mildly funny. The other hacks (doing a HTTPS man in the middle attack with a self-signed certificate, and using information gathered that way to hijack a session to an external VPN by cloning cookies; high-def IP cameras with undocumented default accounts located right over keyboards, Oracle session hijacking), well, maybe you just have to have been there.

As for the “Caucasian-American love hack” (in which they were able to guess an admin’s password from his profile on an Asian-American dating site), I felt more pity for the poor admin, who was probably just looking for love (and not even in all the wrong places) rather than admiration for the penetration testers. Sorry, guys: I know your intentions were good, but this didn’t click with me. It may just have been a personal thing: YMMV.

“Seven Ways to Hang Yourself with Google Android”: An excellent presentation by Yekaterina Tsipenyuk O’Neil (Fortify) and Erika Chin (UC-Berkeley) about the major mistakes programmers making developing Android applications. Specifically:

  1. “Intent spoofing”. Basically, “intents” are a type of message Android uses for inter-application communications, intra-application communications, and system event messages. Android intents can be either “explicit”, where the intent is directed to a specific destination or “implicit”, where the destination isn’t specified and Android decides where the intent should be delivered. The issue is that many developers just use implicit intents, which makes it possible for someone to write a malicious application that creates intents requesting some sort of change in state, and send those intents to other applications that use implicit intents.
  2. SQL query string injection. Yes, you can build a malicious app that queries Android’s SQLite database and (possibly) returns data the app otherwise wouldn’t be able to see.
  3. “Unauthorized intent receipt”. Very similar to #1, except instead of requesting a change in state, the malicious app harvests information from public intents intended for other non-malicious applications.
  4. “Persistent messages: sticky broadcasts”. Android has the capability to send broadcast intents to applications (more specifically, to components of applications that are set up to receive broadcast intents). There are some issues with this. The first issue is that any application registered to receive broadcast intents will get all broadcast intents; there’s no way to restrict broadcast intents to specific receivers. It is also possible to create “sticky” intents, which hang around after they are delivered, and are even rebroadcast to new receivers that are enabled in the future. And with the proper permissions, a malicious application can also remove “sticky” intents, possibly before they are received by the intended recipients.
  5. Insecure storage. Files on the SD card can be read by the entire world. Files created by an application (which might contain things like, oh, I don’t know, passwords?) persist even after the application is deleted, and can be accessed by other, possibly malicious, applications.
  6. Insecure communications. Basically, developers need to get into the habit of acting like their mobile applications are web applications, and use similar best practices; don’t send passwords in cleartext, for example.
  7. Overprivileged applications. Developers have a tendency to request more permissions than their app really needs. For example, an application that just displays images doesn’t need the “camera” permission; only an application that actually uses the camera to collect images needs that permission. One of the interesting facts that came out of this portion of the presentation was how Android’s developer documentation handles explaining permissions and what they represent. Quoting the presenters: “Android 2.2 documents permission requirements for only 78 out of 1207 API calls. 6 out of 78 are incorrect. 1 of the documented permissions does not exist.”

(Edited to add 8/10/2011: I’ve added a link to the final version of this presentation.)

“Build your own Synthetic Aperture Radar”: So this wasn’t as dangerous as I expected (the radar is low-power) and it wasn’t quite as awesome as I expected. But this was a decent presentation on radar technology, starting with an overview of basics and proceeding onwards to discussion of a homebrew radar system.

One minor problem with this presentation was that the presenter (Michael Scarito) had converted his system to use a custom-built data acquisition board (previous versions used a sound card and MATLAB) and didn’t have build documentation for that board prepared yet. However, much of Mr. Scarito’s work is based on other work done at MIT. The slides for the talk are not currently online, as far as I know, but here’s a link to a MIT Open Courseware presentation that gives exact, step-by-step detail, parts lists, and other resources for a very similar project (cited by Mr. Scarito in his presentation).

Wireless Aerial Surveillance Platform”: UAVs are fun. UAVs that have onboard computing power to crack WEP encryption are more fun. UAVs that add the ability to spoof cellular base stations are even more fun. UAVs that have the ability to communicate with a remote server and offload heavier computational tasks (like attacking WPA) are perhaps the most fun of all. Note: the link above doesn’t go to slides, but to the build blog maintained by the two presenters (Mike Tassey and Rich Perkins). The build blog provides a lot more detail than the presentation, and includes resource links. Very well done, gentlemen.

“SCADA & PLCs in Correctional Facilities: The Nightmare Before Christmas”: Borepatch posted a few days ago about a presentation at Black Hat on SCADA vulnerabilities. You could consider this the other shoe dropping.

Summary: many prisons and jails depend on programmable logic controllers (PLCs) to do things like unlock and unlock cell doors. Usually, these PLCs are all controlled from a central control center, so all you have to do, once you find a PLC vulnerability to exploit, is to get your exploit code into the central control center.

“But they aren’t connected to the Internet, right?” Sometimes they are: the systems need to get updates, or send information to other systems, or communicate with other people (food service vendors, for example). Sometimes the systems aren’t connected to the Internet, but other systems they connect to are. (The presenters cited one example where someone was able to upload arbitrary files to the wireless system on a patrol car, and from their to a central jail control system.) Someone could carry an exploit in on a USB drive.

“But the people who run these systems don’t go out to arbitrary sites, right?” The presenters cited examples, from their personal experience, of correctional institution employees watching videos on the Internet, checking GMail accounts, etc. Friend the right correctional institution employee on Facebook…

“But they couldn’t do anything bad, right? I mean, if they open the cell door, the control panel shows it, and won’t the guards catch them?” As for the guards catching them, I remember a story from Pete Earley’s book The Hot House: Life Inside Leavenworth Prison about an inmate who got hold of some clothes and a clipboard: he walked completely out of Leavenworth posing as a prison inspector. As for the control panel showing it, the presenters demonstrated an exploit that allowed a PLC controlled switch (think a door latch) to be open, while the PLC control software thought the switch was closed. (Video of this exploit is supposed to be on YouTube, but I can’t find it right now.) And opening jail doors isn’t the only thing you could do; you could also disrupt prison operations by trying to open all the doors at once. This would cause a massive power surge, and possibly destroy the system. (Generally, the doors open in a “phased” fashion, so you’re not trying to draw that much power at one time.) Or you could force the doors locked. Imagine the Mexican Mafia subverting a prison PLC system so they can force all the door locks for cells belonging to Aryan Brotherhood members closed at once. A squirt of rubbing alcohol or some other volatile liquid into each cell, toss in a match…

(“Christ, what an imagination I’ve got.” Spot the reference, win a cheese.)

(Edited to add 8/10/2011: I’ve added a link to a white paper by the presenters that pretty well summarizes their presentation and findings.)

That concludes my DEFCON 19 roundup. As more of the presentations get online, I’ll be adding links to them, and there will probably be one or two update posts. If you attended a panel I missed at DEFCON 19, and think it is worth linking to, please feel free to mention it in the comments. Responses from presenters are also welcome, especially if I mis-represented or misunderstood a point.

DEFCON 19 notes: day 2.

Sunday, August 7th, 2011

What the well-dressed gun blogger is wearing at DEFCON 19:


Thanks, Sean!

“Safe to Armed in Seconds: A Study of Epic Fails of Popular Gun Safes“: Confession time. I didn’t just watch this panel, I actually volunteered for part of it. I don’t think that compromised  my objectivity, but better to be up front about it.

Deviant Ollam’s presentation concentrated on the smaller handgun safes, specifically the GunVault Microvault MV500, the BioBox, and the LokSAF PBS-001. Summarizing:

  • All of these safes have some sort of keypad or biometric locking system, with a keyed tubular lock as an override.
  • The Microvault and BioBox tubular locks were easy to pick with a tubular picking tool; the Microvault was a little more difficult to pick, while the BioBox basically flew open instantly. The LokSAF tubular lock was much more difficult to pick; Ollam himself hadn’t been able to pick it, but an audience volunteer managed to pick the LokSAF lock during the presentation. (Nobody had tried the Bic pen exploit on these locks.)
  • Using a long thin object, like a straightened paper clip or a lock pick, it is possible to compromise the BioBox from outside without unlocking it; basically, you can fool the BioBox sensors into thinking the device is open, which puts it into a mode that allows you to reprogram the BioBox sensor and open the safe.
  • Ollam and company were able to fool the fingerprint reader on the LokSAF, but it took some work. The basic method is to take an impression of the finger using dental alginate, then use a rubber molding compound (readily available at hobby shops) to take a cast of the impression. That cast can be substituted for a finger and used to open the LokSAF. Part of the panel was going to be a live demonstration of this using fingerprints from audience volunteers (of which your obedient servant was one); however, it took much longer than expected for the molding compound to set up, and that demo was pushed out until much later. Ollam did have video of this exploit working, though. There are some obvious questions, such as: how practical is this if you have to get a finger impression in dental alginate first? Answer: it may be possible to extend this exploit to use just a standard fingerprint, and watch for that presentation next year.

“DIY Non-Destructive Entry“: I missed this and “Battery Firmware Hacking” because I was still caught up in stuff from the gun safes panel. Sorry.

“Smile for the Grenade! ‘Camera Go Bang!’“: Nice guys, good presenters, total failure. The basic idea was to build a clone of military throwable/launchable video camera systems, using off-the-shelf parts (including the perfectly legal and not a destructive device at all 37mm grenade launcher) at a fraction of the cost. This looks like it could be a promising project, but the presenters only started working on it three months before the con, and only did their first test run the weekend before DEFCON. It didn’t go well; the powder they used to load their grenades was apparently defective, and they got no video. While it is interesting to see how small (and cheap!) wireless video cameras have gotten ($20 for the cameras they used, and $80 for the receiver), this is a presentation that should have been shelved for a future DEFCON.

“This is REALLY not the droid you’re looking for…”: From those wonderful folks who brought you Android rootkits, yet another Android exploit. Summary: because of Android’s design, and Google’s lack of strict enforcement of their user interface guidelines, it is possible to build an app that:

  • runs in the background as an Android service.
  • uses APIs from other applications to display login screens from those apps.
  • captures credentials the user enters into those login screens.
  • forwards the captured information to…say, a server in China.
  • override the normal behavior of the “back” button, so the user doesn’t suspect there is a problem.
  • and, because Android doesn’t have a standard “switching apps” visual animation, the user further doesn’t suspect there’s a problem.

This is a very high level summary; the authors went into much more detail about how to build this kind of application in their talk. And it’s not really easy to fix the problems that enable an application of this sort without changing both the Android OS and the way Google/the Android Market does things.

-2 Day DEFCON notes

Tuesday, August 2nd, 2011

Lawrence pointed out that I hadn’t trolled the crowd for panel suggestions yet, and the schedule is up. Here’s the stuff I’m tentatively planning to see.

I’m open to requests, but I won’t make promises.

Let’s have a party.

Tuesday, August 2nd, 2011

I’ll bring the cheese. His Gruberness has already brought the whine.

That’s right, Amazon gave away 101,491 copies of our app! At this point, we had a few seconds of excitement as well, had we mis-read the email and really earned $54,800 in one day? We would have done if our public agreement was in place, but we can now confirm that thanks to Amazon’s secret back-door deals, we made $0 on that day. That’s right, over 100,000 apps given away, $0 made.

There’s two funny things about this. The first one: if you read the entire article, the Shifty Jelly people were fully aware going in that they weren’t going to make any money off of being the “free app of the day”, and had a chance to reject the offer…

In the end we agreed that we had entered the world of Android development as an experiment, and it would seem silly not to add more data to the experiment we were conducting.

And now you’re complaining?

Here’s the other funny thing. I’m one of those 101,491 people who downloaded Pocket Casts when it was free. I’m glad I did; if I had paid $2.70 for that app, I would have been very unhappy. Pocket Casts “works”, in the sense that it manages my podcast subscriptions and lets me play back podcasts.

But it’s buggy. For example, when I first start Pocket Casts, it frequently tells me there’s no podcasts playing. Sometimes that’s true; other times, I quit out of Pocket Casts during a podcast, so I’d expect it to show me the last podcast I was playing. Even better, when I select a podcast from the ones I’ve downloaded, Pocket Casts just displays the same “no podcasts playing” message. Repeatedly. No matter how many times I select a podcast; any podcast, I get the same “no podcasts playing” message. The only way I’ve found around this problem is to actually quit and relaunch the Pocket Casts application.

Good luck, guys. Don’t let the door hit you where God split you.

After action report: Orlando, FL.

Thursday, June 23rd, 2011

As I alluded to previously, but did not make explicit, I spent much of the past week out of town. Specifically, I was in lovely Orlando, Florida, where the natives experience a curious phenomena involving water falling from the sky. They even have a word for it: “rain”.

(Actually, things have improved slightly in Austin since I returned, but we’re still in a drought, and they’re not going to bring back the fireworks this 4th. Oh, well.)

I was in Orlando for the annual convention of the Smith and Wesson Collector’s Association. I’d love to be able to talk more about some of the nifty stuff I saw there, but the S&WCA doesn’t really like having this stuff discussed on open Internet forums. (I think they see open discussion of what goes on at the conventions, as well as other member-only information, as being a disincentive to people joining. In other words, if you want to know all the inside S&W history like production numbers or shipping dates, or what goes on at the conventions, join the club.)

(And you really should, if you have a serious interest in S&W collecting. The S&WCA is a good organization that deserves your support.)

So if I can’t talk about the convention in detail, what can I talk about? Well, I can talk about what worked and what didn’t. I have to say that this was about as perfect a trip as I’ve had in a long time. With the exception of things being slightly tight getting to the gate in Austin for the flight out, and leaving some medication at home, everything went smooth as silk. (Well, okay, the flights on “Latvian People’s Airlines, Your Cattle-car In the Sky”, were packed to the gills with families flying to Disney. But I knew the job was dangerous when I took it.)

My travel configuration hasn’t changed much since my last two trips. The only significant addition is that I now have a smart phone. And, in spite of my issues with Android (which will probably be the subject of a longer post in the future), I have to say; a smart phone for travel is nearly worth its weight in gold. Being able to find things (like a restaurant, or a Wells Fargo ATM) wasn’t the only advantage; the Orlando Airport Marriott was charging $14 a day for wireless Internet access. Easy Tether Pro literally paid for itself the first day I was there, and every day after that was like money in the bank. I heartily endorse this product and/or service, and, yes, you can get EasyTether in the Amazon Android app store.

Speaking of finding restaurants, food in Orlando was mostly just okay. The association has a cocktail party on Thursday night, and the hotel food there was pretty good (conch fritters, yum), but the Saturday banquet dinner was just not to my taste. I had a couple of fast food lunches with friends at Chipolte and Wendy’s, which were pretty much what you’d expect at each.

The best meals I had were at:

  • Sonny’s Real Pit Bar-B-Q, which is a chain, but a regional one, serving mostly pork based barbecue at very reasonable prices.
  • The Bonefish Grill near the hotel. Bonefish is also a chain, and a pretty large one; the holding company also owns Fleming’s, Outback, Carrabba’s, and Roy’s. That aside, I thought my fish (the imperial longfish) was a solid choice, even if it wasn’t local. (My close friend who was unofficially hosting the meal got slightly indignant when he found out the shrimp was from China. His indignation, however, was exceeded by that of a fellow diner who was offended by the 18% gratuity added to our checks.)
  • Big Fin Seafood, the directions to which Google Maps on Android gets wrong wrong wrongity-wrong. Not that I’m bitter or anything. The blue crab crusted grouper was very good (and local!) and I enjoyed my meal very much. But (with a slice of key lime pie, soup, and a half-dozen oysters, plus tax and tip) the meal came to as much as a dinner at Fleming’s or Ruth’s Chris. It was good, but I’m not sure it was quite that good.

I have some photos I took on the grounds of the National UDT/SEAL Museum (another product and/or service I heartily endorse, and which deserves your support) and will probably be posting those to Flicker once I’ve had a chance to import and clean them up some.

I didn’t do as much reading on the trip as I usually do, but I did finish Chinaman’s Chance, the first of the Ross Thomas novels about Artie Wu (pretender to the throne of China), his partner Quincy Durant, and Otherguy Overby. As far as I know, the Wu/Durant books are the only series Thomas wrote (edited to add 6/27: I realized over the weekend that I had forgotten the Padillo/McCorkle novels, which started with The Cold War Swap); I don’t like Chinaman’s Chance as much as I like some of his non-series books, such as The Fools in Town Are on Our Side and The Fourth Durango, but it is a perfectly fine read for an airplane or a beach.

I’m working my way through The Modern Day Gunslinger: The Ultimate Handgun Training Manual (a book I was previously unaware of, and which I found at the UDT/SEAL Museum). I don’t think I’m going to review that, as I don’t feel like I have the level of expertise to be able to do an intelligent review. However, I am considering commissioning a review for the site; if I pull the trigger (so to speak) on that, I’ll let you know. I will say that, so far, I haven’t found anything that contradicts what I’ve read elsewhere, my experience, or the training I’ve had from experts.

Do Androids dream of electric apps?

Thursday, September 9th, 2010

As noted previously, I finally resolved the phone issue. (And AT&T can still die in a fire.)

The number one question I’ve been getting (replacing “Where did you get that shirt?” at the top of the charts) is: “How do you like your new phone?”

Answer: I like it just fine, but…below are some preliminary thoughts on Android (at least, as implemented on the EVO 4G; I do realize that some of these may be issues with the built-in apps, rather than the Android OS itself):

  • It is disappointing to me that the alarm built into the EVO’s clock app can’t be set to play arbitrary sound files as alarms. (I fall into Ihnatko’s 2% who haven’t seen the movie yet, but I love the story behind “Non, Je Ne Regrette Rien“.)
  • Ditto that I can’t set an arbitrary sound file for text message notifications.
  • It is also disappointing to me that there’s no basic Notepad type app provided with the EVO. I’m sure there’s probably 300+ on the Android marketplace, but I needed to make a shopping list this morning and didn’t have time to sort through all of them. Any tips?
  • Integration between the built-in music player and the built-in navigation app is also a disappointment; the navigation app will pause the player to make route announcements, but you have to manually start the player up again, rather than it automatically resuming play.
  • On the plus side, the sound is great; I can listen to podcasts in the car without having to hook into my (currently non-functional) stereo system.
  • The on-screen keyboard is vastly better than using the keypad (even with T9) was on the T616, and somewhat better than the on-screen keyboard on the N800. However, I still have a lot of trouble hitting the correct key with my large-ish fingers.
  • One of the drawbacks of purchasing an Android phone is synchronization with the MacBook. If I had purchased an iPhone, everything would be simple (or at least, simpler). But, no, I had to be different and resist peer pressure… At some point, I suspect I will end up ordering this. (Right now – and I do realize this is a phone controlled setting – the MacBook sees the phone as a USB disk drive with photos on it, and automatically opens iPhoto. I can browse the Android file system and copy files to or from it without problems.)
  • Speaking of iPhoto, I’ve done almost nothing with the built-in camera yet.  I need to work on that.
  • The EVO’s calendar app has a noticeable lag; it takes a couple of seconds to switch to the current date when I bring it up.
  • If there’s a way to sync the EVO’s calendar app with Google Calender, I haven’t found it, and there doesn’t seem to be a separate Google Calender app (like there is for Maps, Voice, Earth, etc.). Do I need to grab some other calender app off the Android Market? (Edited to add 9/10: Okay, I think I’ve figured this one out. You can sync the EVO app with Google Calender, it just isn’t quite as straightforward as I was looking for.)
  • The EVO also seems to lag behind in changing screen orientation when I rotate the phone.
  • I managed to get the Android SDK and the ADT plugin installed without problems on the MacBook, but the ADT plugin won’t install into Eclipse on Project e. It looks like there are some dependencies that Eclipse can’t resolve, but I can’t figure out what those are. I may have to blow away and reinstall Eclipse (which isn’t a major issue; I don’t have a bunch invested in Eclipse on Project e).
  • I either need to dig out my old Java textbook, or see if I can find an updated edition cheap online.
  • Speaking of textbooks, and having nothing to do with Android in particular, I just paid $180+ for a damn textbook. This makes me mildly cranky.
  • My old T616 in the case fit neatly into the magazine phone pocket of my 5.11 tactical pants. The EVO? Doesn’t fit. Dear 5.11 folks: maybe we could think about redesigning that pocket to fit smartphones? (I wear 5.11 tactical pants (or, as some people call them, “Kaiser blade Internet pants“), not because I’m a mall ninja, but because they are the most comfortable and toughest pants I’ve found. Plus they make it really easy to carry all my stuff.)
  • Battery life is…well, middling. I haven’t really tried optimizing power consumption, though, except for turning off WiFi and Bluetooth. (Hurrah for the EVO’s control panel that allows easy access to those settings.)
  • There’s a few applications I’m looking for and would welcome advice on finding in the Android market. The first one is a good WiFi scanning utility; ideally, it would have the ability to log access points with GPS coordinates, note if the points are A, B, G, or N, note if they’re open or closed (and if they’re WEP, WPA, WPA2, etc.), and write all this data to a XML or KML file. It looks like there are several apps in the market that meet these criteria, but I’m not sure which ones are good.
    The second app I’m looking for is a good vehicle management application. At a minimum, I’d like to be able to enter an odometer reading and number of gallons, and get a miles-per-gallon figure for that tank, as well as an average MPG for all tanks to date. It’d be spiffy if I could also enter a price per gallon, as well as other expenses (insurance, repairs, maintenance) and get a cost-per-mile figure as well.
  • I love the GPS Status app.
  • I’ve played a little with the Amazon Kindle app; so far, I’m more impressed with it than I am with the refurbished Kindle I purchased earlier this year.
  • The EVO’s screen is impressive. Much better than the N800’s. I haven’t done a side-by-side with an iPhone 4 yet, but I’m willing to bet it gives the iPhone a run for its money.
  • The EVO’s video player can decode H.264 video! (I haven’t done anything with the camcorder app, so I don’t know what format it encodes video in.)
  • Waiting for a sale on those 32GB microSD cards…
  • Edited to add: There’s also no general file browser app on the EVO.

Again, I generally like the phone; most of these are just minor quibbles that I can probably solve one way or another.

Promoted from the comments.

Saturday, September 4th, 2010

Hello, I am a Customer Care rep for AT&T and I would like to say that I really do understand how this was aggravating for you from the very beginning, and I apoligize that you had so much difficulty upgrading your equipment. Honestly, you should have went to an AT&T Company Owned Retail store from the beginning. Best buy is a “National Retailer” and they do not have as much training or access to your account as the internal sales channels do. It is possible the the Best Buy reps either 1. Did not know what to do. Or, 2. did not even have access to the information they needed to figure out what was wrong.

This issue that you experienced was due to network and billing system conversion that has been going on for years. In the billing system, it requires all “Blue” customers to convert to the “Orange” network before they can do an equipment upgrade. We call this the “Migration Process.” AT&T has put blocks in the billing system that requires customers to eventually Migrate to the Orange network. This entails getting a new SIM card, a compatible phone and often changing rate plans also, since the “blue” rate plans are normally very old and are sales expired.

This is a very rare issue that impacts customer’s that have been with us for many many years and still have fairly old equipment. It is not a common issue, which may be why you had so much difficulty, and once again I apologize, on a lighter note I hope your enjoying your new phone!

As always, thank you for choosing AT&T, we really appreciate your business and have a pleasant day… 🙂

Dear anonymous AT&T rep:

Yes, as  a matter of fact, I am enjoying my new phone very much.

By the way, that phone is a HTC EVO 4G, on the Sprint network. I’ve terminated my service with AT&T after six years.

Have a nice day.