CoreText Font Rendering Bug Leads To iOS, OS X Exploit
redkemper writes with this news from BGR.com (based on a report at Hacker News), excerpting: "Android might be targeted by hackers and malware far more often than Apple's iOS platform, but that doesn't mean devices like the iPhone and iPad are immune to threats. A post on a Russian website draws attention to a fairly serious vulnerability that allows nefarious users to remotely crash apps on iOS 6, or even render them unusable. The vulnerability is seemingly due to a bug in Apple's CoreText font rendering framework, and OS X Mountain Lion is affected as well."
I am totally safe.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
The Department of Homeland Security and FBI.
Do you even lift?
These aren't the 'roids you're looking for.
It has jailbreaks, and that's a good thing.
Well that would be logical wouldn't it, given that Android is a more widely used platform. Hackers often try to get the biggest 'bang for buck' and target the most popular platforms (see also number of Windows viruses vs. Mac OS ones).
Hipsters already have spent all money on Apple products, so their bank accounts are empty. You go after MS, Android who are smart and have savings.
Or you know, perhaps there are things like actually testing to make sure the patch works across their product lines. Or evaluating the Risk of the Flaw, and decide to put it in the next update, vs just keep on patching over and over again.
I remember back when Microsoft started its security initiative back after XP was released. There were a lot of security updates and often they would end up breaking more stuff then it fixed. Because they didn't spend the time testing it.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Was going to post that but you beat me to it. The details:
Headline: "Four Out of Five Malware Menaces Choose Android"
80%? They make it sound so close! It's actually 100:1 for Android:iOS: "Android was targeted by an astonishing 79 percent of all smartphone malware that year... iOS was targeted by 0.7 percent of malware attacks."
The rest? Windows Phone and BlackBerry, 0.3%; Symbian, 19%.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
Targeted != exploited. They're both targeted, just android is a lot easier to exploit because there is so much junk out there without any updates.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
lol.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
The Windows versions of iTunes and Safari include the MacOS font rendering code so that they look identical to the Mac versions. If the code is vulnerable it seems that those applications may also be vulnerable, although at least it's an app level problem and thus not as serious.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Security in non-trivial code is hard. People insist on writing stuff in C and other "hard" languages. And this is the result. We probably should have switched to Ada a long time ago. Oh noes it is 10% slower = no excuse. Just buy the 2.2ghz machine instead of 2ghz.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Here's a link to the crasher string in question:
http://pastebin.com/kDhu72fh
(warning: will crash Safari on OS X 10.8. Firefox doesn't crash.)
The freedom to allow apps permissions for you system brings risks. Read the permissions screen before clicking 'allow', folks.
Google can roll out system patches via Play too. It does it now and again to deal with serious security issues, or provide new features. The patches can affect all versions of Android, at least as far back as 1.5.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
if the attacker has physical access to your machine, you're already toast.
Did you know that TTF fonts are turing complete?
http://en.wikipedia.org/wiki/True_Type_Font#Hinting_language
"It really worries me that the FreeType font library is now being made to accept untrusted content from the web.
The library probably wasnâ(TM)t written under the assumption that it would be fed much more than local fonts from trusted vendors who are already installing arbitrary executable on a computer, and itâ(TM)s already had a handful of vulnerabilities found in it shortly after it first saw use in Firefox.
It is a very large library that actually includes a virtual machine that has been rewritten from pascal to single-threaded non-reentrant C to reentrant C⦠The code is extremely hairy and hard to review, especially for the VM."
http://hackademix.net/2010/03/24/why-noscript-blocks-web-fonts/
-- perl -e'print pack"H*","6e656d6f406d38792e6f7267"'
I do; but its more like ... Find something that looks really good, then look at all the permissions it wants; but it shouldn't need all those permissions!! Feel sad about it and then don't install it unless drunk.
Otherwise someone would post it in the comments here and crash iPhone users' browser!
Holy cow, your fanboy hat must be cutting off the flow of blood to your brain. Explain again why an OS with 4x the market share garners 100x the exploits?
Maybe, just maybe, there's more to it than market share.
"... it fell 3% in marketshare in just the last three months..."
iPhone sales ALWAYS drop this time of year because everyone knows a new one is coming this Fall. It'll be back up in another few months... and then maybe down again, and then up again...
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
Google can roll out system patches via Play too.
Will they for a vulnerability that spans v2.x to 4.x?
CAN they across every single Android device?
The difference is that currently well over 90% of devices are running iOS6...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Android:
79.3% marketshare.
80% of malware.
That may look good to you, but it isn't. If you had 100 pieces of malware, and each affected 1% of the possible users, then you would have 80 pieces of Android malware and 20 pieces of other malware, so an Android user would have an 80% chance of being affected, while other users would only have a 20% chance.
It may give an explanation why there is so much malware, but it doesn't help you. (BTW iPhone was said to be attacked by 0.7% of all malware, which makes every iPhone user about 100 times safer. And all iPhone users have bought an expensive phone, while the high Android numbers come from all the cheap Android phones around, so your "Fort Knox vs. piggy bank" comparison is a bit stupid. ).
Well that would be logical wouldn't it, given that Android is a more widely used platform
Not only that, it has a checkbox to allow you to install unsigned apps from uncontrolled websites.
Unsurprisingly, bad people upload malware to those sites. If you download it and click "yes", you'll get what you deserve, just like installing randomly downloaded exe files on PCs, etc.
No sig today...
Maybe it's that they are afraid of losing their "it just works" image if people notice they keep pushing patches like the rest of the industry...
Gosh, I'd hope it would be the opposite. People do care that "it just works" but nobody expects it to be "born of perfection". Rapid response to issues would be part of "just working".
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Exactly! Apple's never been a big enough target or had enough users to make anyone want to hack them. As for those Apple (l)oosers? Just think how boring their lives have been for all these decades, not getting the real experience of using computers but stuck just playing quietly with their toys. Stoopid loosers!
I drank what? -- Socrates
Yeah, all the malware is avoided if you don't click allow.
That's just damn funny.
There are two types of people in the world: Those who crave closure
Um this isn't fixed ASCII text. Dynamic scaling fonts like TrueType ones are almost images especially with internationalization. You might think printing out "A" is easy but you don't see that the device had to scale that A to a certain size and draw it differently depending on the dimensions proscribed by the font definitions (Serif, Sans Serif, Cursive, Italic, Bold, etc). Also if you want to do any business in places like China, your font rendering engine better be able to handle the complexity. Not to say that bugs shouldn't be there but it's not as easy as you think it is.
Well, there's spam egg sausage and spam, that's not got much spam in it.
The freedom to allow apps permissions for you system brings risks. Read the permissions screen before clicking 'allow', folks.
Right, because having users manage their own risk profile has worked out so well in the PC/Windows world...
Did you know that TTF fonts are turing complete?
http://en.wikipedia.org/wiki/True_Type_Font#Hinting_language
That doesn't excuse the fact that it's totally unnecessary. They've created an entire virtual machine for the sole purpose of font rendering. Doesn't that strike you as just a little bit over the top? Text is just symbols arranged on the screen -- I'm certain better ways of doing this could be imagined that wouldn't require an exploitable VM with root permissions.
I don't care if it's turing complete or not, it's irrelevant. They've taken one of the most basic functions of a computer and managed to overly-complexify it to the point that it needed administrative permissions to do its job. This is like using a nuclear-powered hand drill! It's completely retarded, and when it melts down, it takes the entire city with you, instead of just a 2x4 and a nail.
#fuckbeta #iamslashdot #dicemustdie
Secure? Maybe, maybe not. Having less malware does not mean something is more secure, after all. More safe? Definitely so, since having less malware means that there is simply less danger. A walled garden in the country side is more safe but less secure than an apartment with bars over all the windows in the middle of the city, after all, and safety is what is more important overall, rather than security.
Of course, that doesn't excuse a company to fail at securing their products, just because no one has attacked them yet, but by all indications, the "security through obscurity" argument doesn't hold much water in this case, given that iPhone users are consistently shown to be disproportionately profitable to target and that they continue to sell extremely well overall (even the report you linked cites the fact that this is an expected low as part of the regular product cycle for the line and that they expect the iPhone to recapture its lost market share with the launch of the new iPhone this quarter).
Long story short, Android appears to be less secure and less safe. Which is to be expected, given the fact that developers are able to do a lot more on Android than they can on iOS, so it's not without its upsides, by any means. But that added capability (and the fact that every carrier/manufacturer makes their own tweaks that can open up vulnerabilities) comes at a price, and in this case, it's security.
That this can be used to get an ATV 3 cracked
Do not look at laser with remaining good eye.
Desktop publishing has used embedded, Turing-complete languages for decades -- TeX is Turing-complete, as is XSLT. It's the best and most compact way of specifying an abstract image for a generic rasterizing displays of arbitrary resolution.
Don't blame me, I voted for Baltar.
It's fixed in the current iOS 7 beta.
If you can't convince them, convict them.
Right, because having users manage their own risk profile has worked out so well in the PC/Windows world...
Indeed. Letting someone else control your computer is much safer.
Android's big problem is that you have no way of saying 'no, I'm not giving this app that permission', and can only choose to install or not install the Fluffy Kitty Screen Saver that wants access to your filesystem, the Internet, and the ability to send SMS messages.
Well that would be logical wouldn't it, given that Android is a more widely used platform. Hackers often try to get the biggest 'bang for buck' and target the most popular platforms (see also number of Windows viruses vs. Mac OS ones).
Are you claiming iOS was targeted far more than Android just 2 years ago?
Of course news about a fake are Fake News.
worries me that the FreeType font library is now being made to accept untrusted content
Freetype has an auto-hinting engine originally developed to get around the TTF hinting patent. It is possible to configure FT to never interpret the hinting bytecode at all.
I am becoming gerund, destroyer of verbs.
I think Android is targeted more because it isn't inherently tied to the Play store, and not so much because of devices not being updated. The app signature verification works for 2.3 and up, which covers 96% of Google's Android devices. Getting malware on a phone or tablet still generally requires installing a malicious app, and it's far easier to be careless about that on Android.
It also comes down to the fact that most Android phone users are not computer savvy and just buy them because they are the cheapest thing at the Verizon store. And of course people with lower incomes tend to have less education and as so less critical thinking ability. Likewise people target malware to Windows because every moron who shows up at Best Buy and asks for the cheapest computer goes home with a Windows netbook, from there it's quite simple to get those kind of people to willingly install all kinds of malicious bullshit.
Sigh. Fonts are programs, and have been, for a long while now. Is that news to you? You must have never seen what it takes to actually render a font not to understand that. Be thankful those are not postscript fonts, because those would have been even harder to implement safely. The TTF hinter execution environment is much simpler.
A successful API design takes a mixture of software design and pedagogy.
Agreed.
It's the same as Windows, you just target what gets you the largest return. Organised crime is a business, just like any other.
However there is still the walled garden thing, even if Apple went back up to a 50:50 market share with Android, Android would get targeted more because every Android user can choose to install any application and give that app the permission to email their bank details to Russia.
With iOS they have to wait for a good ol' fashioned buffer overflow before they can grab anything I guess.
Unless you get that with iOS too? I don't know I've never owned one.
But the 8:2 logic holds up, when the sample size it that large I'm guessing that's exactly the reason why.
Ultimately it's all moot.
If Apple had 100% of the market share this is what would happen:
The crims would send everyone sms/emails with links to pages that asked them for their passwords an X percent of users would give it to them.
No amount of security or walled gardens get around the fact most of you are really really thick.
You don't have to install Cute Kitty Wallpapers with internet, sms and bank details access.
Because that's all this "malware" is, it's not big or clever, 50% are just from the wrong side of the bell curve.
Oh, an I use Linux.
On the Desktop.
Well, I used to, because who the hell uses a desktop anymore anyway?
Have you seen this cute screensaver I found!!!
> but nobody uses Linux. Not as a desktop anyway.
I work at a Fortune 50 company. Yes, 50, not 500. Currently researching Big Data on the GPU using Linux + CUDA + nVidia's nSight + GTX Titan. I'm in OSX, Linux, Win8 in that order. The other devs use command line + vim + git. The OPS guys use OpenBSD on the servers.
There is a surprisingly amount of people using Linux. Heck most of the contractors we have are using VirtualBox + Linux (Ubuntu)
You're talking out of your ass making assumptions. Unix, wether it be Linux or BSD variation, is getting more and more popular.
Okay, am I the only one that thinks that if you can't design something that renders text onto a screen without it turning into the Ocean's Eleven of computer security, you're doing it wrong? Be honest now guys. I can understand this in something that needs to interpret complex animations of dancing toilet paper flying across my screen screaming "Buy meeeee, pleeeeeeease!" -- I don't approve, but I can see how someone could screw it up.
But text... really guys, I mean, really?
I really get where you're coming from... However, Unicode is a PITA to implement, what with multiple glyphs for compositions / decompositions and BIDI (text direction rules) -- which change depending on paragraph direction and state machine. That's just the character encoding! To actually render the fonts there's a tiny VM that decodes the glyphs and handles sub-pixel hinting, etc. A bitmap ASCII (CP437) font? Done. I can crank one out in an hour, tops... Unicode w/ TrueType or FreeType? Ugh. I mean, just getting the character property tables from the Unicode site downloaded and transformed from CSV to the format we need is a project in of itself. The bugs in every last 3rd party library ever encountered (even libPNG), I'm hesitant to use other's code unless I have to (I have a higher standard -- input fuzzing, code coverage and unit testing for everything), but bugs in today's text rendering systems aren't just expected, they're a given -- It's literally the first thing I attack, and almost every time it works against new code: embedded invalid surrogate pairs, and over-long forms.
Ah, but everyone's doing it wrong but you? Well, let me tell ya something: If you set out to make the closest to the metal compilable language that's not ASM, it'll work just like C does (C is a product of the architecture more than anything). Same goes for making a minimal font rendering system that covers all the world's languages -- Try it, it'll end up almost exactly like TrueType & Unicode because they're products of their environment too.
Now, that's not to say I don't agree with you to some extent. I'd say humans need to ditch all the BS and start from scratch to create a language that's easy to OCR with syntax and grammar that's extensible and non ambiguous and thus interpretable by machines. Do that and "natural language processing" is a no-brainer (literally). We get away with as few as 16 glyphs for the Virgon (Galactic) language -- Designed for ease of deciphering from examples using mathematics, incrementally graduating up to a small Von Neumann "VM" and then including "instructional" programs to then teach the rest.... So, yeah, you damn dirty apes did do it wrong, but if your sunk cost fallacy doesn't keep you doing it wrong you'll be the first lifeforms in the Super Cluster to do it right before you've solved the Fermi Paradox.
You're talking out of your ass making assumptions. Unix, wether it be Linux or BSD variation, is getting more and more popular.
Sir, my grandpa lived to the age of 94, and he smoked four packs a day. Does that mean if I smoke four packs a day, I have nothing to worry about health-wise? I suppose the cognitive error you've made is clearer now. You're giving personal experience too much weight. Please show me a survey saying that, today, Linux as a desktop platform is at least half as popular as Macintosh is. The short answer is, you won't find one. At least not one that's been done properly. Saying it's "getting more and more popular" is not the same as saying it's popular now. Monacles are getting more and more popular too (steampunk cosplay)... it doesn't mean I can wander out into the street and find top hats and monacles everywhere.
#fuckbeta #iamslashdot #dicemustdie
Marketshare for IOS will probably drop, but have you seen the average IOS user's statistics versus Android and others? Have you seen how much money IOS users spend versus the rest? Which is more used by business? You may understand statistics but you're missing out on the big picture here.
This is one of many reviews. http://techland.time.com/2013/04/16/ios-vs-android/
Desktop publishing has used embedded, Turing-complete languages for decades -- TeX is Turing-complete, as is XSLT. It's the best and most compact way of specifying an abstract image for a generic rasterizing displays of arbitrary resolution.
No, it's not the best way; It has handed someone a root exploit. And it isn't the most compact way either -- because obviously it grew to such complexity that it became part of the kernel. These are design failures. If you cannot figure out a way to put pixels on the screen without getting yourself rooted, you're doing it wrong.
#fuckbeta #iamslashdot #dicemustdie
LOL. Abso-fucking-lutely not.
There are two types of people in the world: Those who crave closure
From the same time frame, the encore (B&N Nook Color) is 100% supported on CM10.2 (or Android JellyBean 4.3):
http://get.cm/?device=encore
Of course, that doesn't excuse a company to fail at securing their products, just because no one has attacked them yet, but by all indications, the "security through obscurity" argument doesn't hold much water in this case, given that iPhone users are consistently shown to be disproportionately profitable to target and that they continue to sell extremely well overall (even the report you linked cites the fact that this is an expected low as part of the regular product cycle for the line and that they expect the iPhone to recapture its lost market share with the launch of the new iPhone this quarter).
Let's say that iphone owners are worth $30,000 each, and Android users are worth only $10,000. If Android users are 4.7x more numerous than iphone users... then Android users are the logical target, if you can only target one group or the other. Now, who really thinks iphone users have a net worth three times that of Android users? Android users, by the way, are 4.7x more numerous.
The rest of your argument is irrelevant. I don't have anything really to say to your security v. safety argument, because that's not what we were talking about and I have no desire to play the shifting goal posts game.
#fuckbeta #iamslashdot #dicemustdie
Until someone gives us a better way I think I'll take the word of experts in the field over yours.
Obviously someone who thinks Unicode is just an extended character set. Unfortunately, it isn't, and it's why characters are referred to as "codepoints" (because you may need multiple codepoints to actually produce a character).
First comes the many ways of expressing a codepoint as a string - UTF-8, UTF-16, UTF-32 are just the most common variations (and there's also the whole big and little endian thing). And there's plenty of reasons why you'd want say, UTF-16 over UTF-8 (especially if you want to move backwards through text).
Next is to support the expressiveness, Unicode has a LOT of character modifier values - things like right-to-left override (after that character, text is forced to be printed right to left), applying diacriticals and other such embellishments on text. For one character printed, you can easily have half a dozen or more codepoints associated with it. (Note: This also makes copy and paste hard, because while the user may have only selected 1 character, that one character may have a few codepoints associated with it).
And don't forget all sorts of typography related things that need to be done - hinting/leading/kerning needs to be done in order to at least make the text presentable. It's why TeX was created - because the general state of computer generated text and typography was degrading compared to traditional manual typesetting.
About the only way to make it "easy" is to abandon Unicode for ASCII and to enforce everything to be monospaced font. Which generally makes text look ugly.
Holy cow, your fanboy hat must be cutting off the flow of blood to your brain. Explain again why an OS with 4x the market share garners 100x the exploits?
Attackers will *always* try to attack the biggest target. They are not for equal opportunity, they do not meet to work out quotas so that OSes gets attacked accordingly to their market share.
Say you joined a shooting competition: You can shoot at two targets, equal size and equal distance, no objective difference at all. Only difference is that each time you hit target A four people will give you $10 each and each time you hit target B only one person give you $10. You have 10 rounds. How do you distribute your rounds between the two targets? Do you fire 8 shots at target A and 2 shots at target B because that would be the most fair thing to do, or do you fire all 10 shots at target A?.
Maybe, just maybe, there's more to it than market share.
There might be. When you see people start taking shots at B, despite the higher reward of hitting target A, you can conclude that some factor causes them to *not* go for the higher reward. Somehow target A must have become harder to hit, the reward is going down or the shooters skills allow them to hit target B more easily.
But all other things being equal, prudent attackers who are in it for the rewards will go for the higher market share, every time.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
It's written in C and it's a buffer overflow exploit, right?
We warned you. You didn't listen. Now suffer.
Now, who really thinks iphone users have a net worth three times that of Android users?
That's a great question and exactly the right one to ask. As it turns out, an average iOS user is worth roughly 4-5x more than an average Android user, at least in terms of what they're willing to spend on apps, which admittedly isn't the worth that we're talking about in this context, but is about the closest indication we can get to the relative worths of users on the different platforms, absent of having data on what the street value is for a compromised device of each variety.
It's also worth pointing out that you've made the false assumption that iOS has to offer a value that's equal to or greater than Android's before iOS would be a logical target, completely dismissing the fact that the black hats may very well be interested in iOS, even if it only offered half or a quarter of the value of attacking Android, simply because there are other considerations at play (e.g. big fish in small pond, diversifying their products for more stable profit, etc.). Even if their users were equal in value and Android had 4.7x more users, that'd still mean that Apple had about 18% of the market, which is a sizable portion to target and well worth at least some of the malware developers' time. As such, you'd expect to see that they're getting hit fairly often.
Instead, that link above indicates that Android gets 79% of malware, iOS gets 0.7%, and Blackberry and Windows Phone each clock in at 0.3%, despite the fact that their market shares are even more diminutive than Apple's. And don't forget Symbian, which only had 19% of the malware, despite the fact that its installed userbase was comparable to Android's at the time that the study was conducted.
As for the rest of what I said, which you largely dismissed as irrelevant, I'll repeat some of it regarding this trend being expected, given the designs for the various OSes. Android is designed to be configurable and modifiable by manufacturers and carriers, as well as more open to developers, which naturally means that it's a harder product to secure, given that the surface area for attack is much larger and the changes that are being made are not always being as heavily scrutinized. In contrast, Apple, Microsoft, and Blackberry each only need to secure one OS that they have full control over, so it should come as no surprise that there's less malware for them, not merely because of market share, but also because of design considerations of this sort. If they didn't have disproportionately less malware, that would be an indication of a major failure on their part to secure their OS.
So, once again, your security through obscurity argument is full of holes, and there are perfectly obvious reasons for why iOS has less malware than Android. That you're ignoring them is astonishing, considering the reasons they exist in the first place are the reasons that the Android ecosystem is able to thrive.
I wouldn't even call this exploit an "exploit". At worst its a lulz to crash a program. No data extraction.
Well, CoreText isn't in kernel, it's a library, and the exploit just allows crashes in userspace, not actual "rooting." Your account of the computer science involved is pretty terrible, in particular your conflation of any runtime environment and a privileged execution environment, and your confusion on the meaning of information-theoretic compactness. Your blanket condemnation of 30 years of desktop printing technology, the implementers of PostScript, and Donald Knuth(!) is also somewhat concerning.
But aside from that I would like to subscribe to your newsletter.
Don't blame me, I voted for Baltar.
As it turns out, an average iOS user is worth roughly 4-5x more than an average Android user, at least in terms of what they're willing to spend on apps, which admittedly isn't the worth that we're talking about in this context, but is about the closest indication we can get to the relative worths of users on the different platforms, absent of having data on what the street value is for a compromised device of each variety.
Actually, this doesn't say anything except that IOS users are more willing to pay for apps -- this may be due to the smaller number of free alternatives and the fact that the IOS marketplace is controlled entirely by Apple, and you have to spend a not inconsiderable amount of money getting licensed and approved so you can submit apps to Apple. Android has no such restrictions. Since it costs less to develop for Android, it makes sense that the overall price would be lower -- afterall, you aren't by the mere act of creating an app indebting yourself and now need to make that money back just to break even.
It's also worth pointing out that you've made the false assumption that iOS has to offer a value that's equal to or greater than Android's before iOS would be a logical target, completely dismissing the fact that
Completely dismissing the fact that... and then you put up a string of assumptions with no citations? Please, by all means, show me the supporting documentation. At least you tried with the first link. It was totally off-topic and irrelevant, but I can admire the attempt. But it seemed like right after that, you gave up wanting to prove any of your other points, perhaps thinking that if you included a single link, you'd get up-modded and nobody would more closely analyze your faulty logic.
Android is designed to be configurable and modifiable by blah blah blah blah blah... more blah, some blah, extra blah to go with the blah
Again, blowing smoke in the hopes of covering up the original point: Which is that we're discussing what is manifest in reality, what is happening today, not the coulda, woulda, shoulda, that your post goes into great detail to construct. It's a wonderful hypothetical model, and maybe if this were a competition for best fictional work by an internet pundit, you'd win an award. But this is economics.
Show me the money. The end.
#fuckbeta #iamslashdot #dicemustdie
Great. So when is the next jailbreak for 6.1.4 coming out?
This exploit was released because even though Apple were made aware of it quite some time ago, they didn't patch it.
Okay, am I the only one that thinks that if you can't design something that renders text onto a screen without it turning into the Ocean's Eleven of computer security, you're doing it wrong? Be honest now guys. [...]
But text... really guys, I mean, really?
Slashdot, one of the geekiest sites with sysadmins who are should know how to do it right... doesn't even *allow* Unicode, apparently due in part to some spoofing or other security risks.
Never mind "doing it wrong", Slashdot isn't even *trying*. There should be no excuse after all this time. It's just text, after all. Right?
Or perhaps modern text processing/rendering is much more complex and complicated than you think.
Two gas stations across the street, both having a sale prominently advertised out front. One offers a gallon of gas for a dollar, the other offers 4 gallons of gas for a dollar.
This will not result in proportional business. Rather, the 4 Gal/usd will be packed and you'll hear crickets at the 1Gal/usd station.
Same for malware and phones.
And I even did it with a car analogy :-)
The most popular Android phone sold was the Samsung Galaxy S III. Which is around 60M units. Google says there are 900M Android devices out there. Which puts the SGS3 at under 10% marketshare. Given it was THE flagship phone to get, there's a good bet the vast majority of Android phones out there are the crappy free ones. Because people see the iPhone, they see the $200 price tag, then the salesperson shows them the collection of Android phones you can have for free. Who cares if it runs Gingerbread, has a crappy screen, a lousy CPU, tiny RAM, whatever. It's free, and "it works like an iPhone".
And therein lies the problem - the market for someone who buys an iPhone or an SGS3 is completely different from the market who buys whatever the carrier is giving away for free.
If we were to isolate the markets - the ones who paid and bought flagship phones versus the iPhone - I have a very strong suspicion that the "worth" is the same. If you're willing to pay for it, the demographics pretty much say you're also willing to pay for apps and all the other stuff.
But if you were too cheap for an iPhone or SGS3 or whatever, then you'd probably be just as cheap with apps. Heck, you might even try to get paid apps for free (and be one to install non-Play apps that may be infected). Or not even bother with the whole thing after seeing dollar signs everywhere.
Even though iPhones have price ranges, few buy the cheaper ones. Hell, any iPhone display almost always are going to have only iPhone 5s on show. But your carrier will have dozens of brand new just-came-out-today Android phones that are free.
The problem is, you can't segregate the market on Android - e.g., you'd pay more to advertise on iPhone because the match the demographic you want, but on Android, you'd pay less than half because you can't tell if you're advertising to a cheapskate or someone who will appreciate it.
And free apps are nonsense - the reason Android has more is because of Google's incompetence at taking people's money, so paid apps are at a disadvantage over free ones since if Google can't take your money, your paid app won't show up.
Stuff like Freemium and ad-supported apps really started on Android for this reason.
Fine, I'll keep it simple since we apparently can't even agree that "wanting to diversify" is a valid business idea that would apply to malware developers too.
Your big claim is that iOS has less malware because of security through obscurity. That is, they have next to no market share, so no one writes malware for it since there's no profit there. Explain Symbian then. It had 19% of the malware share (i.e. 1/4 that of Android) while having a comparable installed user base to that of Android at the time that the study was conducted.
Please explain, since you apparently have a monopoly on reality, how those numbers work out and why they don't contradict anything you've said about iOS.
Did you know that TTF fonts are turing complete?
That's not any kind of excuse. Turing-completeness in itself need not imply that code should be able to break out of its execution environment.
It is a very large library that actually includes a virtual machine that has been rewritten from pascal to single-threaded non-reentrant C to reentrant C⦠The code is extremely hairy and hard to review
Yes, and that such a fundamental piece of code should be in such an awful state is pretty much exactly a summary of what's wrong with the software industry.
Any foundational platform library must reviewable and provable to be correct. I don't care how "hard" this to do because the Internet does not care. The Internet is going to crash your code if it is crashable and you connect it to the Internet. And your code and everyone who uses your code is going to get destroyed. That's all there is to it. Be provably correct, or get rooted.
If your code is so complicated that no human can prove it is correct, then your code is wrong, period. Either your language is wrong, or your architecture is wrong, or the way you've broken it down into components is wrong. If you're using C++, then your language is actively fighting against your attempts to prove correctness. If your architecture allows you to pass random unchecked raw memory pointers around and potentially execute them, then your architecture is also working to betray you. But just because these elements of the design are outside your control as a programmer doesn't mean that they aren't still wrong.
Unfortunately we've now invested so much effort into building not-provably-correct broken programs on top of broken languages and architectures that the security problem is likely to be with us forever. So, um. Good luck on the Internet, everyone. The asteroid arrives Tuesday.
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
"Android was targeted by an astonishing 79 percent of all smartphone malware that year... iOS was targeted by 0.7 percent of malware attacks."
Oh wow! That must mean iOS is much more secure!
Well if Android was targeted by 79% of smartphone malware and has 80% marketshare where iOS has (according to your statistics) 13.2% of the marketshare with only 0.7% of the smartphone malware then that would suggest that yes it is. Of course the next thing to look at is whether it is just hackers going after the biggest target marketshare, well the remaining smartphone malware (20.3%) is targeted at the remaining players that have just 6.8% of the smartphone market, so if you were to suggest it was just them going after the larger market then iOS would be expected to have significantly more than it has and the tiny players to have significantly less than they have.
Unix, wether it be Linux or BSD variation, is getting more and more popular.
I'm not sure what the point of lumping all Unix derivatives together is in this context, it was about exploits and platforms targeted by malware, what exploits and malware run across all Unix derivatives?
Nearly everyone is our office now has iphones, they all dumped samsung crap and android.
Sir the bet is one anecdotal evidence, minimum raise another anecdotal evidence.
The logic is fairly obvious: when there is such a large gap between the leader and everyone else, why would you as a malware writer target anything by the leader? It doesn't make sense to target 20% of your exploits for iOS and 80% for Android, just because that's the corresponding market shares. You target all of your exploits in such a way as to maximize the total number of people hit by each. From that perspective, the only logical choice is to target Android for all of them.
X11. Also there's Java.
When confronted with one problem, some think "I'll use recursion". Now they are confronted with one problem.
With *THAT* big of a gap, you're probably right.
But here in the real world, for some reason people still go to the "name" brand gas stations that sometimes are 10 or more cents more/gallon that are just across the street from each other... Even though the gas quality is federally mandated, and in many/most cases it probably all comes from the same tank anyway.
This exploit was released because even though Apple were made aware of it quite some time ago, they didn't patch it.
Surely this was released because someone's ego had to be satisfied by releasing it? What other purpose does it serve to release it?
Not maybe the iphone isn't very popular, and people aren't designing malware for it because they want to go for Fort Knox instead of a piggy bank.
If the iPhone is not very popular then what smartphone is popular?
Looks like someone can't understand the concept of an example for the sake of making a point. I'm sure most people would much rather have a device that doesn't crash and doesn't get hacked, than gain 10% in speed.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Data extraction isn't the only "exploit". If you can crash a program, you can offer get it to run arbitrary code with a well crafted payload.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Check out F-Droid. While they don't have nearly as much as the Google Play store, everything they do have is open source and stripped of extraneous permissions and libraries.
Well they aren't malware
That's just where our opinions differ.
(just to be clear, I am joking... mostly)
When confronted with one problem, some think "I'll use recursion". Now they are confronted with one problem.
Btrw... android running a JVM does exactly that - wasting battery so that programmers don't have to know how to use pointers. Seems to be quite successful.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
I'd say humans need to ditch all the BS and start from scratch to create a language that's easy to OCR with syntax and grammar that's extensible and non ambiguous and thus interpretable by machines.
You want us all to switch to Marain to enable hyperintelligent starships and a left-wing intergalactic paradise? Sounds cool to me.
"Little does he know, but there is no 'I' in 'Idiot'!"
They've created an entire virtual machine for the sole purpose of font rendering. Doesn't that strike you as just a little bit over the top? Text is just symbols arranged on the screen -- I'm certain better ways of doing this could be imagined that wouldn't require an exploitable VM with root permissions
Spoken like someone who has never actually written code to display text. Sure, with monospaced bitmap fonts, this is an easy problem. For modern text, you start off with a set of bezier paths representing each glyph. That's fairly easy to render, and you can just start drawing each one to the right of the previous one. That will give you blurry characters with ugly spacing, but it's a start.
So how do you fix the blurriness? Now you need some hinting telling the renderer when it should try to snap lines to the nearest pixel rather than approximate it and just rely on antialiasing. Oh, and those hints have to work on every combination of point size for the font and pixel size for the display (and, ideally, for different sub-pixel layouts) and so they're heavily parameterised. Doesn't need to be quite Turing-complete yet, but you're getting very close to Lambda calculus, although you can get away without recursion.
But you still have spacing problems. Consider this trivial example: To. Now, in your naive approach, the left hand side of the o is the same distance from the right hand end of the cross-bar of the T. This distance will be the same as the distance between characters in nm. If you see this at the start of a word, like Tool, then it will look like there is more space between To than between oo or ol and that's ugly. So now you need some kerning hints that tell you how to tweak the spacing for each pair of letters, and these need to be parameterised over every pair of letters. For a simple ASCII font, that's 2^14 combinations, so you don't want to list them individually, you need to compute them.
And that's just very basic letter layout. On a typical window, you may have thousands of characters, which all need to be laid out correctly (and deterministically, so characters don't jump around on every redraw). And so this is on the fast path. Is it surprising that it ends up in the fast path?
Both Windows and *NIX have had serious exploits involving font rendering. X used to put FreeType in the X server (which ran as root), windows used to put an equivalent in the kernel. Both have resulted in vulnerabilities from documents that embed fonts. When you have something that's performance critical (slow text rendering translates to slow window updates, which directly translates to user-perceived slowness) and depends on user-provided data, it's not surprising that there are security holes. X11 now moves font rendering to the client (although, like Quartz, it composites the glyphs on the server), so a font exploit doesn't get you root, it just gets you arbitrary code execution in your current application, for example the web browser.
I am TheRaven on Soylent News
Safari is also impacting by the bug, and naming a Wi-Fi network with one of the strings of text can cause an error while an Apple device is scanning for networks.
So, just buy a couple of inexpensive Wifi mini routers, hook them up a battery pack, and place them near apple user watering holes, sit back and watch the fun...
All that trouble, and an old fashioned screen font still looks better.
Sure, as long as you only ever have one screen DPI to deal with and only need to support a small number of font sizes and don't ever need to print. Of course things look better if you draw them for the exact output format that you're targeting.
I am TheRaven on Soylent News
I use and love F-Droid.
FWIW, you don't *have* to use Java for coding on Android, just like you don't have to use objc for coding on iOS.
Our game has a Java frontend (that's needed) but the game library and the libraries it bundles with (sdl, physfs, netlib), are C (or in the case of the game engine, pascal).
And ofc most of Android itself is absolutely not Java.
For UIs, you can use pretty much anything, even Javascript. They aren't really that demanding...
-- perl -e'print pack"H*","6e656d6f406d38792e6f7267"'
It was more a response to the simplicity of text rendering parent post...
-- perl -e'print pack"H*","6e656d6f406d38792e6f7267"'
Malware for mechanized dildo machines? Phear!
I just now saw your comment while metamoderating, that was an excellent comment. The two guys who modded you up did well.
A bitmap ASCII (CP437) font? Done. I can crank one out in an hour, tops
You're better than I ever was, then. Of course, my tools were primitive. That took me back to 1984 when I discovered that the video circuit in Radio Shack's MC10 was capable of NTSC standard format quality video (but only in 8 colors) and decided to write a graphics program for it. It was great fun.
Anyway, I decided to add text capabilities to the drawing program, and it took a hell of a lot longer than an hour. I mapped it out on graph paper first, which took hours in itself and probably an hour to input the codes.
Since I'd made it so you could print your artwork on it's plotter, I eventually made it into a word processor. In 20k running on a 6802 chip IIRC.
Primitive times, a year later when I was looking for work the guy who interviewed me bragged about his mainframe, which had a whopping two megabytes of memory. I didn't get the job.
I haven't done any "real" programming since they ditched NOMAD and dBase and switched to MS Access at work ten years ago. Yech, glad I retire next year.
Free Martian Whores!